Cases à cocher multiple et centrer sur différent feuillet

  • Initiateur de la discussion Initiateur de la discussion FewRa
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

FewRa

XLDnaute Nouveau
Bonsoir à tous

Premièrement je tiens à vous féliciter pour votre forum, une vrai mine d'information 🙂

je voudrai faire une liste de cases à cocher disons dans la colonne A sur le feuillet 1 (feuil1) de la ligne 16 à 26.
Mais je voudrais que les case reliées avec les case à cocher se trouve dans la colonne B du feuillet 2 (feuil2) de la ligne 5 à 15.

j'ai trouvé se code sur le forum, je suis pas bon en VBL, j'ai changé quelque truc (avoir les bonnes lignes et colonnes), mais je trouve pas comment faire pour que le résultat soit sur le feuillet 2. C'est possible aussi que la Case à cocher soit centré dans la cellule?

Code:
Sub ListeCase()
Dim CB As Excel.CheckBox
Dim R As Range
Dim i&
For i& = 16 To 26
  Set R = ActiveSheet.Range("a" & i& & "")
  Set CB = ActiveSheet.CheckBoxes.Add(R.Left, R.Top, R.Width, R.Height)
  CB.Text = ""
  CB.LinkedCell = R.Offset(-11, 1).Address
Next i&
End Sub


Merci d'avance pour votre aide
 
Dernière édition:
Re : Cases à cocher multiple sur différent feuillet

Bonsoir,

Ce code installe les cases à cocher sur la feuille active.
Code:
Sub ListeCase()
 Dim CB As Excel.CheckBox
 Dim R As Range
 Dim i&
 For i& = 16 To 26
   Set R = ActiveSheet.Range("A" & i& & "")
   Set CB = ActiveSheet.CheckBoxes.Add(R.Left, R.Top, R.Width, R.Height)
   CB.Text = ""
   CB.LinkedCell = R.Offset(0, 1).Address
 Next i&
 End Sub

"A" ou "B" c'est la colonne où les cases à cocher s'installeront
Code:
   Set R = ActiveSheet.Range("B" & i& & "")

16 à 26 sont les lignes où les cases à cocher s'installeront.
Code:
For i& = 16 To 26

Prudence, si tu exécutes plus d'une fois sur la même feuille, il y aura autant de couches de cases à cocher que de fois exécutée.
Malheureusement, je ne saurais rapidement en tester la présence afin d'éviter ce phénomène.

G
 
Dernière édition:
Re : Cases à cocher multiple sur différent feuillet

Bonjour,

J'ai fait quelques tests. Il semble qu'on ne puisse pas positionner la cellule liée, d'une case à cocher, sur une autre feuille.

Une tricherie qu'on peut faire, c'est lier les cellules désirées de la feuille2 avec les cellules liées des cases à cocher.
La réponse de la case à cocher apparaîtra sur les 2 feuilles.

Examine cela si ça convient.

G
 
Re : Cases à cocher multiple sur différent feuillet

ok, je te remercie beaucoup, 🙂 je vais faire comme ça
Mais sais-tu comme ajouter un code pour que les cases à cocher soient centrer et non sur la gauche de la cellule?


Edit:

j'ai trouvé ça

Code:
Sub centrer()
Dim s As Shape
For Each s In ActiveSheet.Shapes
    s.Left = 20
Next s
End Sub

Mais cela marche que pour une colonne (la colonne A) car si il y en a plusieurs sur différente colonnes, elles disparaissent
 
Dernière édition:
Re : Cases à cocher multiple et centrer sur différent feuillet

Bonsoir,

Voilà un fichier avec 3 boutons, Créer, Centrer et Effacer.

Centrer est intéressant si tu redimentionnes la largeur de la colonne.

Par contre le nombre de CheckBox est statique dans les 3 macros.

Regarde cela et adpate à ton besoin.

G
 

Pièces jointes

Re : Cases à cocher multiple sur différent feuillet

ok, je te remercie beaucoup, 🙂 je vais faire comme ça
Mais sais-tu comme ajouter un code pour que les cases à cocher soient centrer et non sur la gauche de la cellule?


Edit:

j'ai trouvé ça

Code:
Sub centrer()
Dim s As Shape
For Each s In ActiveSheet.Shapes
    s.Left = 20
Next s
End Sub

Mais cela marche que pour une colonne (la colonne A) car si il y en a plusieurs sur différente colonnes, elles disparaissent


C'est excellent ... tant qu'il n'y a que ces "shapes" dans la feuille.
Ma méthode n'est pas mieux, elle travaille sur les onze premières. 8- //

Dépendamment du projet, ce pourrait être dynamisé. Mais est-ce que cela en vaut la peine? Telle est la question 🙄


G
 
Re : Cases à cocher multiple et centrer sur différent feuillet

Bonjour,

Merci pour la rapidité, mais cela ne fonctionne pas...
J'avais déjà modifié le "a" en "h", mais sans succès.

Voici le code :
Sub ListeCase()
Dim CB As Excel.CheckBox
Dim R As Range
Dim i&
Dim Largeur As Integer
Sheets("Fabrication").Select

For i& = 5 To 1005

Set R = ActiveSheet.Range("H" & i& & "")
Largeur = (Range("H" & i).Width / 2) - 8
Set CB = Sheets("Fabrication").CheckBoxes.Add(R.Left + Largeur, R.Top, R.Width = 8, R.Height)
CB.Text = ""
CB.LinkedCell = R.Offset(0, 9).Address
CB.Value = True

With CB
.Left = Largeur + 25
.Width = 8
End With
Next i
End Sub

Le "Offset(0, 9)" me sert à déplacer le résultat dans la colonne Q.

Une solution?
 
Re : Cases à cocher multiple et centrer sur différent feuillet

Bonsoir le forum
Bonsoir msingle

Peut être comme ceci :
Code:
Sub ListeCase()
 Dim CB As Excel.CheckBox
 Dim R As Range
 Dim i&
 Dim Largeur As Integer
 'Sheets("Fabrication").Select
 For i& = 5 To 10
 Set R = Sheets("Fabrication").Range("H" & i)
 Largeur = (Range("H" & i).Width / 2) - 8
 Set CB = Sheets("Fabrication").CheckBoxes.Add(R.Left + Largeur + 25, R.Top, R.Width = 8, R.Height)
 CB.Text = ""
 CB.LinkedCell = R.Offset(0, 9).Address
 CB.Value = True
' With CB
 '.Left = Largeur + 25
 '.Width = 8
 'End With
 Next i
 End Sub
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour