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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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.
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" <bipolaris@lexpress.net> a écrit dans le message de news:
1127229573.242624.67270@o13g2000cwo.googlegroups.com...
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
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