Macro de transfert à modifier

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 !

karinette

XLDnaute Occasionnel
Bonjour à tous,

Voici une macro que j'utilise pour transferer des données d'une feuille à l'autre :

Sub transfertverstat()
Dim cel As Range
Dim dest As Range

With Sheets("ARCHIVES")
For Each cel In .Range("A2:A" & .Range("A65536").End(xlUp).Row)
If cel.Value = "VERT" Then
Set dest = Sheets("STATS").Range("A65536").End(xlUp).Offset(1, 0)
Range(cel, cel.Offset(0, 9)).Copy dest
End If
Next cel
End With
End Sub


Elle transfert toutes les lignes avec le mot "VERT" en colonne A ...
Comment faire pour qu'elle agisse de même, mais avec le mot "VERT" en colonne J ...
Mon niveau ne me permet pas de faire cette modif ... 🙁
Merci d'avance ...
 
Re : Macro de transfert à modifier

Bonsoir Karinette, bonsoir le forum,

La macro modifiée (et commentée) :

Code:
Sub transfertverstat_colJ()
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dest As Rang 'déclare la variable dest (DESTination)
 
With Sheets("ARCHIVES") 'prend en compte l'onglet "ARCHIVES"
    'boucle sur toutes les cellules éditées cel de la colonne J
    For Each cel In .Range("J2:J" & .Range("J65536").End(xlUp).Row)
        If cel.Value = "VERT" Then 'condition : si la valeur de la cellule est "VERT"
            Set dest = Sheets("STATS").Range("A65536").End(xlUp).Offset(1, 0) 'définit la variable dest
            cel.EntireRow.Copy dest 'copy la ligne entière et la colle dans dest
        End If 'fin de la condition
    Next cel 'prochaine cellule cel de la colonne J
End With 'fin de la prise en compte de l'onglet "ARCHIVES"
End Sub
 
Re : Macro de transfert à modifier

Apparement ceci marche :

Sub transfertverstat()
Dim cel As Range
Dim dest As Range

With Sheets("ARCHIVES")
For Each cel In .Range("J2:J" & .Range("J65536").End(xlUp).Row)
If cel.Value = "VERT" Then
Set dest = Sheets("STATS").Range("A65536").End(xlUp).Offset(1 , 0)
Range(cel, cel.Offset(0, -9)).Copy dest
End If
Next cel
End With
End Sub


ça peut être utile à quelqu'un ... 😱
 
- 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
15
Affichages
792
Réponses
4
Affichages
737
Retour