Case a cocher excel
AyGss
-
amiraltom Messages postés 48 Date d'inscription Statut Membre Dernière intervention -
amiraltom Messages postés 48 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai une colonne avec beaucoup de cases à cocher liées à des cellules (mais une case à cocher par cellule).
J'aimerais pouvoir "copier/coller" cette colonne dans une nouvelle colonne mais que les cases à cocher soient attribuées aux cellules de la nouvelle colonne.
Ex: j'ai une colonne avec une case à cocher liée à la cellule B3 existante, une autre en B12 et une autre en B16. J'aimerais pouvoir "copier-coller" cette colonne afin d'avoir une case à cocher liée à C3, une C12 et une en C16.
J'espère avoir été assez clair, merci par avance de votre aide précieuse qui me ferait gagner un temps fou!
J'ai une colonne avec beaucoup de cases à cocher liées à des cellules (mais une case à cocher par cellule).
J'aimerais pouvoir "copier/coller" cette colonne dans une nouvelle colonne mais que les cases à cocher soient attribuées aux cellules de la nouvelle colonne.
Ex: j'ai une colonne avec une case à cocher liée à la cellule B3 existante, une autre en B12 et une autre en B16. J'aimerais pouvoir "copier-coller" cette colonne afin d'avoir une case à cocher liée à C3, une C12 et une en C16.
J'espère avoir été assez clair, merci par avance de votre aide précieuse qui me ferait gagner un temps fou!
A voir également:
- Case a cocher excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne dans une case excel - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
8 réponses
Bonjour,
Il serait plus simple de se passer des cases à cocher et de se contenter d'écrire un x dans la cellule correspondante (plus besoin de cellule liée).
Avec une macro simple pour feuille de calcul (à adapter au besoin), on peut transformer les cellules en "pseudo case à cocher" :
Cordialement
Patrice
Il serait plus simple de se passer des cases à cocher et de se contenter d'écrire un x dans la cellule correspondante (plus besoin de cellule liée).
Avec une macro simple pour feuille de calcul (à adapter au besoin), on peut transformer les cellules en "pseudo case à cocher" :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Intersect(Target, Range("B3:C16")) Is Nothing Then Exit Sub If Target.Count > 1 Then Exit Sub If Target.Formula = "" Then Target.Formula = "X" Else Target.Formula = "" End Sub
Cordialement
Patrice
Merci beaucoup, ça me simplifie effectivement énormément la tache!
Bonne après-midi,
Cordialement,
Aymeric
Bonne après-midi,
Cordialement,
Aymeric
Bonjour,
Ma demande s'apparente un peu à celle d'AyGss/Aymeric, à savoir que j'aimerais créer une checklist avec des cases à cocher sans être obligé de faire du copier/coller à tout va et de passer des heures à repositionner les cases...
D'autre part, je voudrais pouvoir réduire la checklist (avec l'outil grouper) et n'avoir plus qu'une seule ligne visible avec une case qui se coche (ou si c'est trop compliqué que l'on coche manuellement) pour signaler que toute la checklist est vérifiée.
Merci d'avance pour votre aide !
Tom
PS: J'ai posté une autre demande sur la création de jalons dans un planning...si vous avez des idées...
Ma demande s'apparente un peu à celle d'AyGss/Aymeric, à savoir que j'aimerais créer une checklist avec des cases à cocher sans être obligé de faire du copier/coller à tout va et de passer des heures à repositionner les cases...
D'autre part, je voudrais pouvoir réduire la checklist (avec l'outil grouper) et n'avoir plus qu'une seule ligne visible avec une case qui se coche (ou si c'est trop compliqué que l'on coche manuellement) pour signaler que toute la checklist est vérifiée.
Merci d'avance pour votre aide !
Tom
PS: J'ai posté une autre demande sur la création de jalons dans un planning...si vous avez des idées...
Bonjour,
ma foi les cellules à cocher me paraissent plus "pro", et plus facile à checker (un clic suffit). Le problème demeure que lorsque je groupe des lignes les cases à cocher demeurent (en se superposant) et se reportent du coup sur la ligne du dessous.
Je me prends la tête je sais mais si ça peut le faire ainsi ça donnerait un truc vraiment chouette.Mais votre solution du filtre m'intéresse, comment le définiriez vous?
Merci !!!
Tom
PS: on ne peut pas joindre de document sur ce forum ?
ma foi les cellules à cocher me paraissent plus "pro", et plus facile à checker (un clic suffit). Le problème demeure que lorsque je groupe des lignes les cases à cocher demeurent (en se superposant) et se reportent du coup sur la ligne du dessous.
Je me prends la tête je sais mais si ça peut le faire ainsi ça donnerait un truc vraiment chouette.Mais votre solution du filtre m'intéresse, comment le définiriez vous?
Merci !!!
Tom
PS: on ne peut pas joindre de document sur ce forum ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
Le diagramme que tu as mis en exemple ne comprend aucune tache à réaliser !
les cellules à cocher me paraissent plus "pro" : les cases à cocher, comme tous les objets, sont des "verrues" déposées sur les feuilles de calcul. Si leur utilisation offre un aspect visuel plus agréable, ce n'en est pas professionnel pour autant.
Ce qui est professionnel, c'est d'utiliser un programme adapté au besoin, dans ton cas, un logiciel de gestion de projet.
Comme je t'ai dis précédemment, plutôt que d'utiliser des cases à cocher et un plan, j'écrirais un x dans les cellules correspondantes et je placerais un filtre automatique sur la ligne 10.
Pour les jalons l'exemple n'est pas parlant.
Le diagramme que tu as mis en exemple ne comprend aucune tache à réaliser !
les cellules à cocher me paraissent plus "pro" : les cases à cocher, comme tous les objets, sont des "verrues" déposées sur les feuilles de calcul. Si leur utilisation offre un aspect visuel plus agréable, ce n'en est pas professionnel pour autant.
Ce qui est professionnel, c'est d'utiliser un programme adapté au besoin, dans ton cas, un logiciel de gestion de projet.
Comme je t'ai dis précédemment, plutôt que d'utiliser des cases à cocher et un plan, j'écrirais un x dans les cellules correspondantes et je placerais un filtre automatique sur la ligne 10.
Pour les jalons l'exemple n'est pas parlant.
N'y connaissant pas grand chose je te fais confiance sur ce sujet quand tu dis que les cases à cocher ne sont pas l'idéal...Je vais essayer avec les x mais du coup je n'ai pas bien saisi l'idée du filtre automatique...et n'y aurait-il pas une macro qui permettrait d'afficher un pourcentage de progression en fonction du nombre de case avec un x dedans?
Et je suis en train d'essayer sur Ganttproject en parallèle, mais ça n'est pas très adapté pour la quantité de donnée que j'ai (qui est très importante)
merci encore !
Et je suis en train d'essayer sur Ganttproject en parallèle, mais ça n'est pas très adapté pour la quantité de donnée que j'ai (qui est très importante)
merci encore !
Re,
Quand tu parles de macro, je suppose que tu veux parler de formule !
Avec Excel, faire un macro-programme pour calculer un pourcentage c'est comme utiliser un semi-remorque pour faire ses courses, c'est possible mais pas idéal.
Pour calculer un pourcentage il faut 2 valeurs !
le nombre de X peut être obtenu avec =NB.SI(Plage;"X")
Patrice.
Quand tu parles de macro, je suppose que tu veux parler de formule !
Avec Excel, faire un macro-programme pour calculer un pourcentage c'est comme utiliser un semi-remorque pour faire ses courses, c'est possible mais pas idéal.
Pour calculer un pourcentage il faut 2 valeurs !
le nombre de X peut être obtenu avec =NB.SI(Plage;"X")
Patrice.
Bonjour,
Essaie de poser tes questions à la fin de la discussion plutôt qu'à l'intérieur (avec le classement automatique par vote, on a du mal à suivre).
Bienvenue dans le monde du Visual Basic pour Application (VBA).
Pour utiliser la macro dans plusieurs plages, c'est à peine plus compliqué, il suffit de définir une variable (plage) qui représente l'ensemble des plages :
Essaie de poser tes questions à la fin de la discussion plutôt qu'à l'intérieur (avec le classement automatique par vote, on a du mal à suivre).
Bienvenue dans le monde du Visual Basic pour Application (VBA).
Pour utiliser la macro dans plusieurs plages, c'est à peine plus compliqué, il suffit de définir une variable (plage) qui représente l'ensemble des plages :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim plage As Range If Target.Count > 1 Then Exit Sub Set plage = Union(Range("B3:C16"), Range("E3:E16"), Range("G3:G16"), Range("H3:H16")) If Intersect(Target, plage) Is Nothing Then Exit Sub If Target.Formula = "" Then Target.Formula = "X" Else Target.Formula = "" End Sub
Bien compris Patrice, désolé.
Nickel pour la formule, merci beaucoup. Je me demandais par contre si y avait pas moyen d'aller plus vite (le fait est que j'ai 36 intervalles...)et surtout de trouver quelque chose de plus flexible. En effet si j'insère une seule ligne, tous mes intervalles sont changés et je suis bon pour les retaper à la main pendant des heures. Du coup je pensais à une solution où au lieu de travailler par intervalle, on travaillerait par défaut. A savoir mettre comme condition de validité de la propriété le fait que la cellule soit initialement vide ou possédant un X (pour le cas où l'on veut recliquer sur la cellule pour enlever le X). Je ne sais pas si j'ai été très clair...(je ne sais pas si c'est utile mais petite précision: la propriété n'a besoin d'être validée que sur une seule colonne)
Désolé d'insister, mais ça prend forme grâce à toi !!
cordialement,
tom
Nickel pour la formule, merci beaucoup. Je me demandais par contre si y avait pas moyen d'aller plus vite (le fait est que j'ai 36 intervalles...)et surtout de trouver quelque chose de plus flexible. En effet si j'insère une seule ligne, tous mes intervalles sont changés et je suis bon pour les retaper à la main pendant des heures. Du coup je pensais à une solution où au lieu de travailler par intervalle, on travaillerait par défaut. A savoir mettre comme condition de validité de la propriété le fait que la cellule soit initialement vide ou possédant un X (pour le cas où l'on veut recliquer sur la cellule pour enlever le X). Je ne sais pas si j'ai été très clair...(je ne sais pas si c'est utile mais petite précision: la propriété n'a besoin d'être validée que sur une seule colonne)
Désolé d'insister, mais ça prend forme grâce à toi !!
cordialement,
tom
Re,
Effectivement ton idée de "marquer" les cellules concernées est exploitable mais elle présente des contraintes.
On peut adopter une méthode très simple : Dans les cellules qui sont susceptibles de recevoir les x tu va mettre une validation des données toute simple (qui n'interdit rien):
Données / Validation / Autoriser : Personnalisé / Formule : =1
Tu peux utiliser l'outil Reproduire la mise en forme (ou copier / collage special : formats) pour recopier ce format sur l'ensemble des cellules concernées.
Si tu n'utilises pas du tout la validation des données, voici la macro simple qui permet de mettre/enlever le x dans ces cellules
Si tu utilises la validation des données c'est aussi possible, la contrainte est différente : Il faut définir une cellule de référence qui contient la validation définie ci-dessus (par exemple B3) :
Effectivement ton idée de "marquer" les cellules concernées est exploitable mais elle présente des contraintes.
On peut adopter une méthode très simple : Dans les cellules qui sont susceptibles de recevoir les x tu va mettre une validation des données toute simple (qui n'interdit rien):
Données / Validation / Autoriser : Personnalisé / Formule : =1
Tu peux utiliser l'outil Reproduire la mise en forme (ou copier / collage special : formats) pour recopier ce format sur l'ensemble des cellules concernées.
Si tu n'utilises pas du tout la validation des données, voici la macro simple qui permet de mettre/enlever le x dans ces cellules
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim plage As Range If Target.Count > 1 Then Exit Sub On Error Resume Next Set plage = ActiveSheet.Cells.SpecialCells(xlCellTypeAllValidation) On Error GoTo 0 If plage Is Nothing Then Exit Sub If Intersect(Target, plage) Is Nothing Then Exit Sub If Target.Formula = "" Then Target.Formula = "X" Else Target.Formula = "" End SubContrainte : ne pas utiliser la validation des données dans d'autres cellules.
Si tu utilises la validation des données c'est aussi possible, la contrainte est différente : Il faut définir une cellule de référence qui contient la validation définie ci-dessus (par exemple B3) :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim plage As Range If Target.Count > 1 Then Exit Sub Set plage = ActiveSheet.Range("B3") On Error Resume Next Set plage = plage.SpecialCells(xlCellTypeSameValidation) On Error GoTo 0 If plage Is Nothing Then Exit Sub If Intersect(Target, plage) Is Nothing Then Exit Sub If Target.Formula = "" Then Target.Formula = "X" Else Target.Formula = "" End Sub
Bonjour Patrice!
Merci pour ces codes, c'est déjà un net progrès, mais j'ose encore insister :)...n'est-il pas possible en gros d'appliquer une propriété à toute une colonne (qu'on définit dans le code) mais que cette propriété ne soit valide que lorsque la cellule est vide ou contenant un X? du coup ça laisse une extrême liberté de modifier les cellules de cette colonne et il n'y a aucun paramètre à modifier...parce que dans le code que tu m'as donné selon l'endroit où l'on insère une ligne, la cellule de la colonne concernée aura ou pas la propriété, du coup selon ce que l'on veut il faudra changer les paramètres de cette nouvelle cellule ...tandisque que dans ma proposition, il suffit d'inscrire quelque chose (comme un pourcentage d'avancement par exemple)dans la cellule pour que celle-ci ne soit plus considérée comme une case à cocher...Je ne sais pas si je suis très clair...en résumé, par défaut, lorsqu'il n'y a rien dedans ou bien un X les cellules de la colonne concernée possède la propriété, mais dès lors qu'elles sont remplies par autre chose elles ne l'ont plus...(ainsi il n'y a pas de risque d'effacer une cellule de cette colonne possédant un pourcentage d'avancement mais à qui on aurait oublié de changer les paramètres et d'enlever la propriété)...
Merci encore pour ta patience !!
Cordialement!
Tom
Merci pour ces codes, c'est déjà un net progrès, mais j'ose encore insister :)...n'est-il pas possible en gros d'appliquer une propriété à toute une colonne (qu'on définit dans le code) mais que cette propriété ne soit valide que lorsque la cellule est vide ou contenant un X? du coup ça laisse une extrême liberté de modifier les cellules de cette colonne et il n'y a aucun paramètre à modifier...parce que dans le code que tu m'as donné selon l'endroit où l'on insère une ligne, la cellule de la colonne concernée aura ou pas la propriété, du coup selon ce que l'on veut il faudra changer les paramètres de cette nouvelle cellule ...tandisque que dans ma proposition, il suffit d'inscrire quelque chose (comme un pourcentage d'avancement par exemple)dans la cellule pour que celle-ci ne soit plus considérée comme une case à cocher...Je ne sais pas si je suis très clair...en résumé, par défaut, lorsqu'il n'y a rien dedans ou bien un X les cellules de la colonne concernée possède la propriété, mais dès lors qu'elles sont remplies par autre chose elles ne l'ont plus...(ainsi il n'y a pas de risque d'effacer une cellule de cette colonne possédant un pourcentage d'avancement mais à qui on aurait oublié de changer les paramètres et d'enlever la propriété)...
Merci encore pour ta patience !!
Cordialement!
Tom
Je viens de tester cette solution et je pense que c'est celle qui convient!
Par contre comment fait-on pour modifier les plages (j'en ai beaucoup!), j'ai réussi à rajouter une plage dans Range("B3:C16")), mais je n'arrive pas à en rajouter d'autres...ne connaissant pas le langage de programmation, j'ai beau essayé de transformer le Range, je n'y arrive pas.
Merci encore pour ton aide!
Cordialement,
Tom