macro avec boucle copier/collagespecial

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

L

LaKro64

Guest
Bonjour à tous,

Je suis débutant sur VBA et je souhaiterai faire une macro qui :
- copie la ligne (I3:BC3) de la feuille ORDA
- fait un collage spécial en valeur et transposé en colonne i de la feuille TCD.
- répéte l'opération en fonction de l'index soit 137 fois

ci-joint un fichier pour que ce soit plus clair pour vous,

merci d'avance si vous avez une idée,

Cdlt

LaKro64
 

Pièces jointes

Re : macro avec boucle copier/collagespecial

Bonjour,
Voici un code à essayer, en supposant qu'il y a un valeur dans la cellule I2 de la feuille TCD et rien d'autres en dessous.

VB:
Sub Copie()
   Dim rg As Range, c As Range
   Dim wsORDA As Worksheet, wsTCD As Worksheet
   
   Set wsORDA = Sheets("ORDA")
   Set wsTCD = Sheets("TCD")
   
   Set rg = wsORDA.Range("A7:A" & wsORDA.Range("A" & wsORDA.Rows.Count).End(xlUp).Row)
   For Each c In rg
      If IsNumeric(c) Then
         c.Offset(0, 8).Resize(1, 47).Copy
         wsTCD.Range("I" & wsTCD.Range("I" & wsTCD.Rows.Count).End(xlUp).Row + 1).PasteSpecial xlPasteValues, , , True
      End If
   Next c
End Sub
 
Re : macro avec boucle copier/collagespecial

Bonjour,

Merci beaucoup pour votre aide.

Cependant, votre code me copie tous les lignes à partir de (I3:BC3) alors que je ne veux récupérer que les lignes où il y a un chiffre dans la colonne Index.

Ci-joint le fichier pour illustrer mon propos.

Merci d'avance

LaKro64
 

Pièces jointes

Re : macro avec boucle copier/collagespecial

Oups...mon erreur.
Voici le code modifié.

VB:
Sub Copie()
    Dim rg As Range, c As Range
    Dim wsORDA As Worksheet, wsTCD As Worksheet
    
    Set wsORDA = Sheets("ORDA")
    Set wsTCD = Sheets("TCD")
    
    Set rg = wsORDA.Range("A7:A" & wsORDA.Range("A" & wsORDA.Rows.Count).End(xlUp).Row)
    For Each c In rg
       If IsNumeric(c) And c.Value <> "" Then
          c.Offset(0, 8).Resize(1, 47).Copy
          wsTCD.Range("I" & wsTCD.Range("I" & wsTCD.Rows.Count).End(xlUp).Row + 1).PasteSpecial xlPasteValues, , , True
       End If
    Next c
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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
976
C
Réponses
5
Affichages
1 K
Cocoraphsg
C
A
Réponses
14
Affichages
1 K
Arnaud59000
A
T
Réponses
4
Affichages
6 K
ThomasGLT
T
  • Question Question
XL 2010 Aide macro
Réponses
19
Affichages
3 K
J
Réponses
3
Affichages
1 K
J
D
Réponses
5
Affichages
1 K
Dimebag
D
A
Réponses
8
Affichages
4 K
J
Réponses
19
Affichages
4 K
jerem512
J
Retour