Checkbox dans une macro
Résolu/Fermé
mstecluque
Messages postés
73
Date d'inscription
mardi 9 juin 2015
Statut
Membre
Dernière intervention
28 juillet 2015
-
10 juil. 2015 à 10:50
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 - 10 juil. 2015 à 16:33
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 - 10 juil. 2015 à 16:33
A voir également:
- Checkbox dans une macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Jitbit macro recorder - Télécharger - Confidentialité
- Tri automatique excel sans macro ✓ - Forum Excel
3 réponses
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 710
Modifié par f894009 le 10/07/2015 à 11:47
Modifié par f894009 le 10/07/2015 à 11:47
Bonjour,
Le code que vous avez recupere, en parti, est pour des checkboxs Control Activex pas pour control de formulaire sur feuille de calcul. Mais ca vous a cree quand meme des controls de formulaire
Les checkboxs control de formulaire sur feuille de calcul sont des "betes a chagrin", et vous en avez (il me semble) une par ligne:
Le code que vous avez recupere, en parti, est pour des checkboxs Control Activex pas pour control de formulaire sur feuille de calcul. Mais ca vous a cree quand meme des controls de formulaire
Les checkboxs control de formulaire sur feuille de calcul sont des "betes a chagrin", et vous en avez (il me semble) une par ligne:
'On enlève la ligne si la case est cochée If Sheets(FM).Shapes("Check Box " & liFM).OLEFormat.Object.Value = xlOn Then Rows(liFM).Select Selection.Delete Shift:=xlUp liFM = liFM - 1 End If
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
10 juil. 2015 à 11:57
10 juil. 2015 à 11:57
Bonjour le fil, bonjour le forum,
Juste une remarque... Pourquoi ne pas utiliser tout simplement une colonne du tableau et y mettre "X" ou "x" plutôt que de s'embarquer dans un code compliqué qui va alourdir considérablement le fichier et ralentir l'exécution du code ?... Bien sûr esthétiquement c'est différent mais parfois la simplicité prévaut sur l'esthétisme...
Juste une remarque... Pourquoi ne pas utiliser tout simplement une colonne du tableau et y mettre "X" ou "x" plutôt que de s'embarquer dans un code compliqué qui va alourdir considérablement le fichier et ralentir l'exécution du code ?... Bien sûr esthétiquement c'est différent mais parfois la simplicité prévaut sur l'esthétisme...
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 710
Modifié par f894009 le 10/07/2015 à 12:09
Modifié par f894009 le 10/07/2015 à 12:09
Bonjour,
C'est pas faux!!
ou un truc simple:
C'est pas faux!!
ou un truc simple:
'police cellules: Winsdings2 'test si coche: "R" 'test si pas coche: "£" Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If Not Application.Intersect(Target, Range("A2:A32")) Is Nothing Then Cancel = True If ActiveCell.Value = "R" Then ActiveCell.Value = "£" ElseIf ActiveCell.Value = "" Or ActiveCell.Value = "£" Then ActiveCell.Value = "R" End If End If End Sub
mstecluque
Messages postés
73
Date d'inscription
mardi 9 juin 2015
Statut
Membre
Dernière intervention
28 juillet 2015
>
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
10 juil. 2015 à 13:11
10 juil. 2015 à 13:11
Personnellement je ne comprends pas le truc simple. Je ne vois pas trop comment l'intégrer à ma macro.
Et le coup des croix c'est pas idiot, mais je pense pas que ça plaise aux autres utilisateurs.
Et le coup des croix c'est pas idiot, mais je pense pas que ça plaise aux autres utilisateurs.
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 710
>
mstecluque
Messages postés
73
Date d'inscription
mardi 9 juin 2015
Statut
Membre
Dernière intervention
28 juillet 2015
Modifié par f894009 le 10/07/2015 à 14:01
Modifié par f894009 le 10/07/2015 à 14:01
Re,
Personnellement je ne comprends pas le truc simple. Ce code est a mettre dans le VBA de la feuile en adaptant la colonne. Clic droit sur une cellule
fichier exemple: https://www.cjoint.com/c/EGkl0NuPqxL
Pour l'erreur, quand vous l'avez, passez le curseur souris sur les variables de la ligne pour voir leur valeur.
Quand vous cliquer sur une case a cocher, qu'est-ce qu'il y a d'ecrit dans la zone de texte ou s'affiche les noms de cellule
Personnellement je ne comprends pas le truc simple. Ce code est a mettre dans le VBA de la feuile en adaptant la colonne. Clic droit sur une cellule
fichier exemple: https://www.cjoint.com/c/EGkl0NuPqxL
Pour l'erreur, quand vous l'avez, passez le curseur souris sur les variables de la ligne pour voir leur valeur.
Quand vous cliquer sur une case a cocher, qu'est-ce qu'il y a d'ecrit dans la zone de texte ou s'affiche les noms de cellule
mstecluque
Messages postés
73
Date d'inscription
mardi 9 juin 2015
Statut
Membre
Dernière intervention
28 juillet 2015
10 juil. 2015 à 15:17
10 juil. 2015 à 15:17
Je n'ai toujours pas compris comment ça marche, mais je trouve ça génial.
Pour moi, les variables ont l'air bonnes: FM correspond à la bonne feuille, liFM à la bonne ligne et xlOn =1
Donc ça vient du reste, mais je sais pas d'où...
Pour moi, les variables ont l'air bonnes: FM correspond à la bonne feuille, liFM à la bonne ligne et xlOn =1
Donc ça vient du reste, mais je sais pas d'où...
mstecluque
Messages postés
73
Date d'inscription
mardi 9 juin 2015
Statut
Membre
Dernière intervention
28 juillet 2015
Modifié par mstecluque le 10/07/2015 à 15:26
Modifié par mstecluque le 10/07/2015 à 15:26
Ensuite je ne vois pas où est censé s'afficher le nom des cellules...
mstecluque
Messages postés
73
Date d'inscription
mardi 9 juin 2015
Statut
Membre
Dernière intervention
28 juillet 2015
10 juil. 2015 à 15:34
10 juil. 2015 à 15:34
Je viens de percuter le premier commentaire...
Je dois le dire, c'est encore plus génial que ce que je pensais!
Je dois le dire, c'est encore plus génial que ce que je pensais!
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 710
10 juil. 2015 à 15:42
10 juil. 2015 à 15:42
Re,
Je dois le dire, c'est encore plus génial que ce que je pensais! Oui, mais,
Que faisons pour vos case a cocher ???
Je dois le dire, c'est encore plus génial que ce que je pensais! Oui, mais,
Que faisons pour vos case a cocher ???
mstecluque
Messages postés
73
Date d'inscription
mardi 9 juin 2015
Statut
Membre
Dernière intervention
28 juillet 2015
10 juil. 2015 à 15:48
10 juil. 2015 à 15:48
bon alors concrètement je suis en train d'essayer d'intégrer ce petit bout de code à ma macro. Je galère un peu puisque je passe du code d'une feuille à celui d'un module.
Mais je pense que je vais faire comme ça, avec un clic gauche pour plus de simplicité.
Il faut juste que j'y arrive.
Et après je testerai le contenu de la cellule plutôt qu'une checkbox.
Mais je pense que je vais faire comme ça, avec un clic gauche pour plus de simplicité.
Il faut juste que j'y arrive.
Et après je testerai le contenu de la cellule plutôt qu'une checkbox.
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 710
>
mstecluque
Messages postés
73
Date d'inscription
mardi 9 juin 2015
Statut
Membre
Dernière intervention
28 juillet 2015
Modifié par f894009 le 10/07/2015 à 15:59
Modifié par f894009 le 10/07/2015 à 15:59
Re,
C'est vous qui voyez
Pour l'erreur que vous ne connaissiez pas,
cela vient du fait que la case a cocher n'existe pas, soit un probleme avec liFM et le nom des cases a cocher ou ce n'est pas le bon control
C'est vous qui voyez
Pour l'erreur que vous ne connaissiez pas,
If Sheets(FM).Shapes("Check Box " & liFM).OLEFormat.Object.Value = xlOn Then
cela vient du fait que la case a cocher n'existe pas, soit un probleme avec liFM et le nom des cases a cocher ou ce n'est pas le bon control
mstecluque
Messages postés
73
Date d'inscription
mardi 9 juin 2015
Statut
Membre
Dernière intervention
28 juillet 2015
10 juil. 2015 à 16:26
10 juil. 2015 à 16:26
Du coup, ça marche, très bien même. Donc merci beaucoup!
Le seul problème que je rencontre, c'est que je ne veux pas définir un nombre de ligne précis. Je veux que ça s'applique s'il y a une valeur dans la première colonne.
Mais du coup ça ne marche pas avec ma condition.
J'ai tellement le nez dedans que je n'arrive plus à rien.
Donc si qqun voit pourquoi, ça m'évitera une heure supp...
Le seul problème que je rencontre, c'est que je ne veux pas définir un nombre de ligne précis. Je veux que ça s'applique s'il y a une valeur dans la première colonne.
Mais du coup ça ne marche pas avec ma condition.
J'ai tellement le nez dedans que je n'arrive plus à rien.
Donc si qqun voit pourquoi, ça m'évitera une heure supp...
'police cellules: Winsdings2
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim codebFM As Long
If ActiveCell.Offset(0, 8).Value <> "" Then
If Not Application.Intersect(Target, Range("I:I")) Is Nothing Then
Cancel = True
With ActiveCell.Font
.Name = "Wingdings 2"
If ActiveCell.Value = "R" Then
ActiveCell.Value = "£"
ElseIf ActiveCell.Value = "" Or ActiveCell.Value = "£" Then
ActiveCell.Value = "R"
End If
End With
End If
End If
End Sub
mstecluque
Messages postés
73
Date d'inscription
mardi 9 juin 2015
Statut
Membre
Dernière intervention
28 juillet 2015
10 juil. 2015 à 16:30
10 juil. 2015 à 16:30
Si qqun veut rire, c'est pcq je testais 8 cases plus à droite alors que je voulais tester 8 cases plus à gauche.
10 juil. 2015 à 11:52
10 juil. 2015 à 11:57
ce n'est pas le cas du tout... Y a des erreurs ????????????????
Il marche chez moi sur excel2013.
A defaut, mettez votre fichier a dispo
Modifié par mstecluque le 10/07/2015 à 13:25
'-2147024809 (80070057)': L'élément portant ce nom est introuvable.
Et ça me renvoie sur la ligne