Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

COPIE DES CELLULES AVEC CODE VBA

  • Initiateur de la discussion Initiateur de la discussion bennisay
  • 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 !

bennisay

XLDnaute Occasionnel
Bonjour le forum
je veux copier automatiquement des cellules d une feuille a une autre avec un code vba
j ai mis une piece joint pour monter l exemple
MERCI pour votre aide
 

Pièces jointes

Hello

la demande n'est pas très claire... peux tu expliciter stp
avec un code vba il me copie la cellule "j3" "k3"
on copie les cellules J3:K3: OU CA? quelle feuille?

et dans la colonne "L" et "M" juste les cellules qui sont en liesant avec
les cellules remplie par une valeur de la colonne "P" et "Q" et les copier dans la feuille " G COMMANDE"
??
Dans le tableau "Reference - Designation - Quant" colonnes LMN, on ne prend QUE les lignes qui ont une info en colonne P Q ??
on les copie dans la feuille G Commande... ou ca? en dessous des données à partir de la colonne A, ou en dessous des données à partir de la colonne K ? ou encore.. colonnne R?

si j appuie sur nouveau j aurai la colonne "p" et "q" vide
plutot qu'appuyer une seconde fois.. autant effacer après le copier coller..

si je met un autre exemple "1" dans la cellule "P8" et "08/06/2017" dans le celulle "Q8" en appuiyant sur enregister j aurai la ligne en verre dans la feuille " G COMMANDE"
?? tu souhaites juste conserver les couleurs quand on fait un copier coller?
 
BONOUR merci pour l inetrret

on copie les cellules J3:K3: OU CA? quelle feuille?
ok j explique c est pas facile de l expliquer mais je vais te repondre cas par cas
les cellules J3 K3 seront copier dans la feuille G COMMANDE dans la colonne "K" " L"


1 Oui on ne prend que les lignes qui ont infos sur la colonnes P Q
2 on les copier sous les donnes dans les colonnes K L M N O P de la feuille " G COMMANDE"
 
Re,

voir le code selon ma compréhension
VB:
Sub CopieColle()

With Sheets("G COMMANDE")
    LigneDest = .Range("K" & .Rows.Count).End(xlUp).Row + 1 'on récupère la dernière ligne de la colonne K
   
    Set zone = Range("L3:N25")
    For Each ele In zone
        If ele.Column = 12 And ele.Offset(0, 4) <> "" Then 'si il y a des données en colonne P
            Range("J3:K3").Copy Destination:=.Range("K" & LigneDest) 'on recopie les cellules J3:K3
            Union(Range(ele.Address, ele.Offset(0, 1)), Range(ele.Offset(0, 4), ele.Offset(0, 5))).Copy Destination:=.Range("M" & LigneDest) 'on copie les data des colonnes L M P et Q
            LigneDest = LigneDest + 1 'on incrémente la dernière ligne
        End If
    Next ele
End With
Range("J3:K3").ClearContents 'on efface
Range("P3:Q25").ClearContents 'on efface
End Sub
 
REB
merci pour votre aide
je croie que tu as compris mais il reste juste quelques touches a rectifier
1 les cellules j3 et k3 sont copier sous forme de liste et non pas juste une valeur
2 je dois infecter ce code au button ENREGISTER pour activer le code vba ?
 
Re
effectivement. j'ai oublié de supprimer la liste de validation qui est copiée

VB:
Sub CopieColle()

With Sheets("G COMMANDE")
    LigneDest = .Range("K" & .Rows.Count).End(xlUp).Row + 1 'on récupère la dernière ligne de la colonne K
   
    Set zone = Range("L3:N25")
    For Each ele In zone
        If ele.Column = 12 And ele.Offset(0, 4) <> "" Then 'si il y a des données en colonne P
            Range("J3:K3").Copy Destination:=.Range("K" & LigneDest) 'on recopie les cellules J3:K3
            .Range("K" & LigneDest).Resize(1, 2).Validation.Delete 'on supprime la liste de validation qui a été copiée
            Union(Range(ele.Address, ele.Offset(0, 1)), Range(ele.Offset(0, 4), ele.Offset(0, 5))).Copy Destination:=.Range("M" & LigneDest) 'on copie les data des colonnes L M P et Q
            LigneDest = LigneDest + 1 'on incrémente la dernière ligne
        End If
    Next ele
End With
Range("J3:K3").ClearContents 'on efface
Range("P3:Q25").ClearContents 'on efface
End Sub

Le code est à mettre dans un module standard VBA
1) ouvrir l'éditeur vba: Alt+F11
2) insérer module standard
3) copier le code
4) clic droit sur le bouton "enregistrer"
5) affecter macro - copiecolle

Voir PJ
 

Pièces jointes

- 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
7
Affichages
584
  • Question Question
Autres Vba
Réponses
4
Affichages
172
  • Question Question
Microsoft 365 agrandir la liste
Réponses
21
Affichages
402
Réponses
3
Affichages
304
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…