copier/coller colonne suivant CheckBox

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 !

auverland

XLDnaute Occasionnel
Bonjour,

Je cherche à faire une macro qui me copie les données de mes colonnes en fonction de "CheckBox" placé en haut sur ma feuille "données" pour venir les recoller les une à coté des autres sur ma feuille "résultat".
La macro se complique lorsque je selectionne puis déselectionne une colonne car celle-ci étant déja copié en colonne intermédiaire.
je suis vraiment débutant en VBA du coup je trouve pas la solution.

Merci pour votre aide

ci-joint mon fichier avec les colonnesRegarde la pièce jointe auverland.xls
 
Re : copier/coller colonne suivant CheckBox

bonjour,
pas sûr d'avoir tout compris;

après avoir sélectionné les colonnes lancer la macro suivante:

Code:
Private Sub CommandButton1_Click()

Dim DerLig As Long
Dim i As Byte
Dim ColRes As Byte

DerLig = Worksheets("données").Range("A" & Rows.Count).End(xlUp).Row

For i = 1 To 7
    If Worksheets("données").OLEObjects("CheckBox" & i).Object.Value = True Then
        ColRes = ColRes + 1
        Worksheets("données").Range(Cells(2, i), Cells(DerLig, i)).Copy
        Worksheets("données").Paste Destination:=Worksheets("resultat").Cells(1, ColRes)
    End If
    Application.CutCopyMode = False
Next

End Sub

Ce code nécessite que les checkbox soient dans l'ordre des colonnes (Col A:Checkbox1, Col B: Checkbox2 ...)
Dans votre classeur on a Checkbox7 pour la colonne A

A+
 
Re : copier/coller colonne suivant CheckBox

Merci beaucoup car vraiment j'aurai abandonné sans votre aide.
Ca fonctionne comme j'avais besoin, juste une chose comment est-il possible de remettre la feuille "résultat" vide avant chaque lancement de la macro. un genre d'init car si je la lance deux fois avec des colonnes différentes il garde en mémoire la premiere boucle.

Merci
 
Re : copier/coller colonne suivant CheckBox

re,
la macro ne garde pas en mémoire la première boucle, mais copie les colonnes nouvellement sélectionnées "par dessus" la copie précédente.
pour éviter cela, il faut effacer la feuille résultat avant de procéder à la copie:

dans le code précédent, après DerLig = ...., rajouter:
Code:
Worksheets("resultat").Range("A1").CurrentRegion.ClearContents

Bonne suite
 
- 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

Discussions similaires

Réponses
4
Affichages
481
Retour