OVH Cloud OVH Cloud

copie sélective (VBA)

2 réponses
Avatar
JMGVBAiste
Bonjour

Comment, svp, en VBA copier une plage cellules (d=E9limit=E9e par 2
chaines de caract=E8res qui reviennent X fois dans la feuille?

Exemple
Dans la feuille 1, colonne A
il y a une sucession al=E9toire de donn=E9es avec des occurences qui
reviennent
1=2E2.3.4.5.abc.6.7.8.DEF....9.10.11.12.abc.6.7.8.DEF..... ETC ETC
Comment copier (en VBA) dans la feuille 2
chaque plage de cellules qui commence par abc et finit par DEF?

J'ai la solution si il existe une seule fois abc et DEF
mais pas quand il y a plusieurs occurences

Merci d'avance.

2 réponses

Avatar
Daniel
Bonjour.
Essaie le code suivant .

Sub test()
Dim Plage As Range, c As Range, Adr1 As String, Adr2 As String
Dim Ctr As Long
Set Plage = Range("A1", Range("A65536").End(xlUp))
Ctr = 1
For Each c In Plage
If Left(c.Value, 3) = "abc" Then Adr1 = c.Address
If Right(c.Value, 3) = "DEF" Then
Adr2 = c.Address
If Adr1 <> "" Then
Range(Adr1, Adr2).Select
Range(Adr1, Adr2).Copy Sheets("Feuil2").Range("A" & Ctr)
Ctr = Ctr + Range(Adr2).Row - Range(Adr1).Row + 1
Adr1 = ""
End If
Adr2 = ""
End If
Next c
End Sub

Cordialement.
Daniel
"JMGVBAiste" a écrit dans le message de news:

Bonjour

Comment, svp, en VBA copier une plage cellules (délimitée par 2
chaines de caractères qui reviennent X fois dans la feuille?

Exemple
Dans la feuille 1, colonne A
il y a une sucession alétoire de données avec des occurences qui
reviennent
1.2.3.4.5.abc.6.7.8.DEF....9.10.11.12.abc.6.7.8.DEF..... ETC ETC
Comment copier (en VBA) dans la feuille 2
chaque plage de cellules qui commence par abc et finit par DEF?

J'ai la solution si il existe une seule fois abc et DEF
mais pas quand il y a plusieurs occurences

Merci d'avance.
Avatar
JMGVBAiste
Bonjour

Merci Daniel

J' ai encore du progrès à faire avec les For Each