Résolu macro pour double cliquer sur une cellule

JeanAli

Nouveau membre
Bonjour tout le monde
Est-il possible de lancer un double clic sur une cellule à partir d'une macro ?
Merci à tous
[s:p/1jf9]
 

patt024

Habitué
Bonjour, je ne suis pas sur de bien comprendre ta question.

Le double-clique dans une cellule lance l'édition du texte de la cellule.... donc techniquement dans la macro si tu édite le texte c'est un double-clique.

Peux-tu être plus précis sur ce que tu veux faire ?
 

drul

Obscur pro du hardware
Staff
Salut,
http://excelhelphq.com/how-to-move-and-click-the-mouse-in-vba/
 

JeanAli

Nouveau membre
Merci pour les réponses
Voilà j’ai mis ce code pour supprimer une plage de cellule après un évènement sur la feuille mais pour que cette plage se supprime il faut que j’aille sur la feuille et je clique sur la cellule B1 et ce n’est pas pratique :

Private Sub Worksheet_Change(ByVal Target As Range)
'au changement dans une cellule
If Target.Address <> "$B$1" Then Exit Sub
'si le changement a lieu ailleurs qu'en B1, sort de la procédure (limite l'action à la seule cellule B1)
If Range("B1").Value = 1 Then
'condition : si la cellule modifiée (B1 en l'occurrence) est égale à un
Call supprimer_cellules
'lance la procédure supprimer_cellules
End If
'fin de la condition
End Sub
 

patt024

Habitué
Tu pourrais mettre un bouton "supprimer" et lui affecter la macro.
 

drul

Obscur pro du hardware
Staff
pour ce genre d'action, en principe je rajoute un bouton dans le menu contextuel (click droit), c'est le plus pratique. (comme ça c'est dispo sur toute les feuilles et même en ligne 320000 !)
 

JeanAli

Nouveau membre
Voila une partie de la feuille Excel :

Nom & Prénom
Adresse :
Mode de paiement:
Fonction :
Rémunération principale
Salaire de base : S .B
Indemnité d'expérience professionnelle : I.E.P
Indemnité d'expérience pédagogique : I.E.P.P
Salaire Principal
Rémunération Principale

Ce que je veux faire , en changeant dans la liste déroulante qui est en "Nom & Prénom" et lorsque la fonction change "intendant au lieu de professeur par exemple "et que cet employé ne bénéficie pas de cette l'indemnité IEPP alors toute la plage de cellules doit disparaitre et ce par la macro supprimer_cellules.
Mais cela ne fonctionne que si je clique sur la feuille alors que je veux que ça se déroule automatiquement dès que la fonction change .
J’espère que c'est plus claire.
Merci à tous
 

drul

Obscur pro du hardware
Staff
Pourquoi ne pas appeler ta macro depuis:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
' ton code ici...
End Sub
Cette fonction est appeler à chaque changement sur une cellule de la feuille, elle devrait donc pouvoir faire ce que tu désires ici ...
 

JeanAli

Nouveau membre
Merci patt024
Oui c'est ce que j'ai fait avec ce code:

Private Sub Worksheet_Change(ByVal Target As Range)
'au changement dans une cellule
If Target.Address <> "$B$1" Then Exit Sub
'si le changement a lieu ailleurs qu'en B1, sort de la procédure (limite l'action à la seule cellule B1)
If Range("B1").Value = 1 Then
'condition : si la cellule modifiée (B1 en l'occurrence) est égale à un
Call supprimer_cellules
'lance la procédure supprimer_cellules
End If
'fin de la condition
End Sub


mais cela n'a pas marché et il faut que j'aille sur la feuille et que je clique pour que ça fonctionne!!
 

patt024

Habitué
Bonjour,
Je ne sais pas pourquoi tu vérifie B1=1 mais pour ton problème, tu peux L'attribué à la liste déroulante de Fonction ta macro :
Code:
Sub ListBox1_Click()

Et ensuite tu vérifie son contenu et lance la macro si nécessaire.
 

drul

Obscur pro du hardware
Staff
En effet le code que tu nous mets ici, ne correspond pas à ce que tu désires faire il me semble, pourquoi vérifié que seul le changement de B1 lance la macro ? pourquoi est-il nécessaire d'avoir B1 = 1 ? ou sont tes autres conditions ?
 

JeanAli

Nouveau membre
Merci à Tous
Parce que tout simplement dans la cellule B1 il y a une valeur à retourner qui est en réalité la fonction de l'employé soit professeur ou intendant ou proviseur etc ,et que j'ai mis ici 1 pour simplifier seulement, et que si cet employé a droit à l'indemnité alors elle s'affiche dans la plage de cellule sinon cette plage s'efface!!!
 

drul

Obscur pro du hardware
Staff
Comment est mis à jour la valeur dans B1 ? avec une formule excel ?
Tu pourrais nour mettre un screen de ton tableau ?
 

JeanAli

Nouveau membre
Dites moi svp comment joindre une image ?je ne trouve pas ajout de fichiers ou d'images
 

JeanAli

Nouveau membre
Merci Drul
je viens de créer un compte sur casimage.com et j'ai uploadé l'image mais comment allez vous la consulter?
 

drul

Obscur pro du hardware
Staff
Tu colles un lien sur l'image ici (normalement casimage tu propose le lien à l'uplode, il faut choisir la ligne forum)
Exemple:
 

drul

Obscur pro du hardware
Staff
C'est bien ce qu'on disait, aucun rapport direct avec B1 (tu as quoi en B1 ?)
La liste déroulante c'est une listbox ou une "data validation" ?
amha ton worksheet_change devrais vérifier un changement en C7, pas en B1...
 

JeanAli

Nouveau membre
Salut
Oui tu as raison c'est parce que j'ai pris la cellule B1 comme exemple c'est tout mais c'est en vérité en B11 qu'il y a changement dans la fonction professeur ou intendant ou adjoint d’éducation etc et je veux que si le fonctionnaire (intendant par exemple ) n'a pas
L'indemnité d'expérience pédagogique : I.E.P.P alors la plage de cellule B17:E17 s'efface J’espère que c'est plus claire
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 136
Messages
6 718 119
Membres
1 586 397
Dernier membre
Chachabidou
Partager cette page
Haut