Checkbox et macro excel
Fermé
jeanraoul65
Messages postés
11
Date d'inscription
jeudi 12 mars 2009
Statut
Membre
Dernière intervention
16 mars 2009
-
12 mars 2009 à 12:03
Le Pingou Messages postés 12241 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 19 février 2025 - 12 mars 2009 à 22:49
Le Pingou Messages postés 12241 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 19 février 2025 - 12 mars 2009 à 22:49
A voir également:
- Checkbox et macro excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Si et excel - Guide
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
11 réponses
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
12 mars 2009 à 17:37
12 mars 2009 à 17:37
Bonjour,
Avec un exemple se serait plus simple de comprendre .... !
Que faut-il comprendre par : une colonne (D) remplie de checkbox ... ?
Avec un exemple se serait plus simple de comprendre .... !
Que faut-il comprendre par : une colonne (D) remplie de checkbox ... ?
jeanraoul65
Messages postés
11
Date d'inscription
jeudi 12 mars 2009
Statut
Membre
Dernière intervention
16 mars 2009
12 mars 2009 à 17:55
12 mars 2009 à 17:55
Cela veut dire que chaque cellules de la colonne D comporte une checkbox.
Par exemple si les cellules D4 et D7 sont cochées , je veux que les cellules A4,B4,C4,A7,B7,C7 soient copiées par la macro sur une autre feuille
J'espère etre assez clair.
Par exemple si les cellules D4 et D7 sont cochées , je veux que les cellules A4,B4,C4,A7,B7,C7 soient copiées par la macro sur une autre feuille
J'espère etre assez clair.
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
12 mars 2009 à 18:16
12 mars 2009 à 18:16
Bonjour,
Oui et non, à quelle endroit sur l'autre feuille ?
Est-ce que cette feuille existe ou faut-il la créer ?
Oui et non, à quelle endroit sur l'autre feuille ?
Est-ce que cette feuille existe ou faut-il la créer ?
jeanraoul65
Messages postés
11
Date d'inscription
jeudi 12 mars 2009
Statut
Membre
Dernière intervention
16 mars 2009
12 mars 2009 à 18:35
12 mars 2009 à 18:35
Bonjour Jean Pierre
Mon prolème ce n'est pas tant la méthode pour copier les valeurs d'une feuille à l'autre ( ca j'ai réussi grace à une modif d'une de mes anciennes macro) , c'est vraiment la partie test de l'information contenue dans les checkbox, cad comment faire la boucle pour parcourir l'ensemble des checkbox de la colonne D et déterminer les numéros des lignes de celles qui sont actuellement cochées.
Merci pour tes réponses rapide
Mon prolème ce n'est pas tant la méthode pour copier les valeurs d'une feuille à l'autre ( ca j'ai réussi grace à une modif d'une de mes anciennes macro) , c'est vraiment la partie test de l'information contenue dans les checkbox, cad comment faire la boucle pour parcourir l'ensemble des checkbox de la colonne D et déterminer les numéros des lignes de celles qui sont actuellement cochées.
Merci pour tes réponses rapide
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 255
12 mars 2009 à 18:49
12 mars 2009 à 18:49
Bonsoir,
tu sais, ça serait bcp plus simple avec des x dans les cellules, quitte à faire une macro qui te le met et l'enlève avec un double-clic...
eric
tu sais, ça serait bcp plus simple avec des x dans les cellules, quitte à faire une macro qui te le met et l'enlève avec un double-clic...
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
12 mars 2009 à 19:15
12 mars 2009 à 19:15
Bonjour,
Voici la macro pour la première case à cocher ( cellule "D1")
Sub Caseàcocher1_Clic()
If Range("D1").Value = Faux Then Exit Sub ' case décochée, ne rien faire
Range("A1:C1").Copy Destination:=Sheets("Feuil2").Range("a1:c1")
End Sub
La répéter en incrémentant les numéros de ligne , exemple pour la "D2"
Sub Caseàcocher2_Clic()
If Range("D2").Value = Faux Then Exit Sub ' case décochée, ne rien faire
Range("A2:C2").Copy Destination:=Sheets("Feuil2").Range("a2:c2")
End Sub
Au pardon, je viens de voir que vous désirez le faire d'une fois avec une boucle, patiente
Voici la macro pour la première case à cocher ( cellule "D1")
Sub Caseàcocher1_Clic()
If Range("D1").Value = Faux Then Exit Sub ' case décochée, ne rien faire
Range("A1:C1").Copy Destination:=Sheets("Feuil2").Range("a1:c1")
End Sub
La répéter en incrémentant les numéros de ligne , exemple pour la "D2"
Sub Caseàcocher2_Clic()
If Range("D2").Value = Faux Then Exit Sub ' case décochée, ne rien faire
Range("A2:C2").Copy Destination:=Sheets("Feuil2").Range("a2:c2")
End Sub
Au pardon, je viens de voir que vous désirez le faire d'une fois avec une boucle, patiente
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
12 mars 2009 à 20:01
12 mars 2009 à 20:01
Bonjour,
Voici pour la boucle:
A vous de complèter selon vos besoins.
Voici pour la boucle:
For c = 1 To Application.CountA(Range("d:d")) If Cells(c, 4).Value = "Vrai" Then MsgBox ("copier les valeurs et les coller sur autre feuille") End If Next c
A vous de complèter selon vos besoins.
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
12 mars 2009 à 20:23
12 mars 2009 à 20:23
Bonjour,
Prennez cette version qui tient compte de la première cellule qui contient la case à cocher, ici la "D1"
Note : pour ceci checkbox prenait automatiquement sa valeur afin faire le test VRAI ou FAUX
cela dépend du type de contrôle que vous avez utilisé ; Controle de Formulaire ou Contrôle ActivX
Prennez cette version qui tient compte de la première cellule qui contient la case à cocher, ici la "D1"
' position de la première case à cocher pos = Range("D1").Row For c = 0 To Application.CountA(Range("d:d")) If Cells(pos + c, 4).Value = "Vrai" Then MsgBox ("copier les valeurs et les coller sur autre feuille") End If next c
Note : pour ceci checkbox prenait automatiquement sa valeur afin faire le test VRAI ou FAUX
cela dépend du type de contrôle que vous avez utilisé ; Controle de Formulaire ou Contrôle ActivX
J'ai essayé sur mon fichier mais le test ne s'effectue pas, c'est comme si ma colonne D était vide, pas de vrai ni de faux meme lorsque je coche les box ,
y a t'il une manip à effectuer pour effectivement lier la checkbox a la cellule ? ( peut etre une option lors de la création de la check box??)
Merci
y a t'il une manip à effectuer pour effectivement lier la checkbox a la cellule ? ( peut etre une option lors de la création de la check box??)
Merci
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
12 mars 2009 à 22:06
12 mars 2009 à 22:06
Bonjour,
Quel type de contrôle avez-vous utilisé ; Controle de Formulaire ou Contrôle ActivX ?
Faites un clic droit sur une case à cocher .... que se passe-t-il ?
J'attends !
Quel type de contrôle avez-vous utilisé ; Controle de Formulaire ou Contrôle ActivX ?
Faites un clic droit sur une case à cocher .... que se passe-t-il ?
J'attends !
jeanraoul65
Messages postés
11
Date d'inscription
jeudi 12 mars 2009
Statut
Membre
Dernière intervention
16 mars 2009
12 mars 2009 à 22:39
12 mars 2009 à 22:39
J'ai inséré des activex par défaut (je ne connais pas la différence entre les 2 ) , en faisant clic droit propiétés j'ai trouvé le champs "linked cell" qui definit la celulle associée . La macro marche desormais . Le seul poblème est qu'il faut rentrer pour chaque checkbox la cellule associée "à la mano" ce qui est assez fastidieux etant donné ma liste d'articles... Je pense que je vais reconsiderer la solution proposée par Eriic un peu plus haut pour voir si cela convient.
Merci
Merci
Le Pingou
Messages postés
12241
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
19 février 2025
1 458
12 mars 2009 à 22:49
12 mars 2009 à 22:49
Bonjour,
Eh oui vous devez renseigner la propriété de chaque case à cocher, il en est de même pour type "Contrôle de Formulaire".
En appliquant la solution d'eriiic (salutations au passage) vous faites le bon choix.
Concernant l'instruction pour la boucle, il vous suffira de remplacer "Vrai" par "X" et c'est bon.
Note: dans votre code vous placez un "X" majuscule et la ligne de code devient :
If StrConv(Cells(pos + c, 4), vbUpperCase) = "X" Then
En cas de minuscule dans les cellules se sera converti en majuscule par "StrConv()
Eh oui vous devez renseigner la propriété de chaque case à cocher, il en est de même pour type "Contrôle de Formulaire".
En appliquant la solution d'eriiic (salutations au passage) vous faites le bon choix.
Concernant l'instruction pour la boucle, il vous suffira de remplacer "Vrai" par "X" et c'est bon.
Note: dans votre code vous placez un "X" majuscule et la ligne de code devient :
If StrConv(Cells(pos + c, 4), vbUpperCase) = "X" Then
En cas de minuscule dans les cellules se sera converti en majuscule par "StrConv()