Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

regrouper des cellules non adjacentes

10 réponses
Avatar
plasma199
Bonjour, Bonsoir

Je debute en VBA et la je planche lourdement sur un probl=E8me.

J'ai une liste de quelques centaines de lignes et j aimerai pouvoir
copier des blocs de lignes discontinues de la feuille et les coller a
la suite sur la feuille 2. (la ligne enti=E8re)

Le probleme c'est que le fichier est donn=E9 en vrac, et l on a un
m=E9lange de noms et de valeurs .Simplement il est possible de
r=E9cup=E9rer les infos dont j ai besoin a partir de certains rep=E8res
qui ne varient pas .

Exemple :

Jacques
Rep=E8re 1
Louis
Jean
Repere2
Durant
Dupont
repere 3
eric
Rep=E8re 1
Elise
jean
Marine
louis
Joelle
Rep=E8re 2
louis
repere 3


Les valeurs" rep=E8re 1" et "rep=E8re 2 " ne varient pas et se suivent
dans le m=EAme ordre simplement c est la liste et le nombre des noms
qui changent. (de 1 a 30 environs)
La difficult=E9 c'est que les noms se r=E9p=E8tent dans la liste. Je ne
dois r=E9cup=E9rer que ceux compris entre " rep=E8re 1 et repere2 " .
Je pense qu'il faut faire une boucle a 2 conditions ( si le nom1 se
situe apres repere1 et avant repere 2, donc selectionner, etc... puis
copier/coller)

Si vous avez une indication a proposer ...


Par avance un grand merci

10 réponses

Avatar
JLuc
*Bonjour *,
Peut être ceci :

For x = 1 To Range("A65536").End(xlup).Row
While Cells(x, 1) <> "Repere1"
x = x + 1
Wend
While Cells(x, 1) <> "Repere2"
Cells(x, 1).EntireRow.Copy Destination:=Sheets("Feuil2") 'A
adapter
x = x + 1
Wend
Next

Code jeter comme ça, sans test :')

Bonjour, Bonsoir

Je debute en VBA et la je planche lourdement sur un problème.

J'ai une liste de quelques centaines de lignes et j aimerai pouvoir
copier des blocs de lignes discontinues de la feuille et les coller a
la suite sur la feuille 2. (la ligne entière)

Le probleme c'est que le fichier est donné en vrac, et l on a un
mélange de noms et de valeurs .Simplement il est possible de
récupérer les infos dont j ai besoin a partir de certains repères
qui ne varient pas .

Exemple :

Jacques
Repère 1
Louis
Jean
Repere2
Durant
Dupont
repere 3
eric
Repère 1
Elise
jean
Marine
louis
Joelle
Repère 2
louis
repere 3


Les valeurs" repère 1" et "repère 2 " ne varient pas et se suivent
dans le même ordre simplement c est la liste et le nombre des noms
qui changent. (de 1 a 30 environs)
La difficulté c'est que les noms se répètent dans la liste. Je ne
dois récupérer que ceux compris entre " repère 1 et repere2 " .
Je pense qu'il faut faire une boucle a 2 conditions ( si le nom1 se
situe apres repere1 et avant repere 2, donc selectionner, etc... puis
copier/coller)

Si vous avez une indication a proposer ...


Par avance un grand merci


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
bac
Bonsoir

Merci pour la réponse
J'ai essayé d'appliquer cette méthode , en vain , cela plante l'appli . En
adaptant , cela donne des messages d'erreur ...
"JLuc" a écrit dans le message de
news:
*Bonjour *,
Peut être ceci :

For x = 1 To Range("A65536").End(xlup).Row
While Cells(x, 1) <> "Repere1"
x = x + 1
Wend
While Cells(x, 1) <> "Repere2"
Cells(x, 1).EntireRow.Copy Destination:=Sheets("Feuil2") 'A
adapter
x = x + 1
Wend
Next

Code jeter comme ça, sans test :')

Bonjour, Bonsoir

Je debute en VBA et la je planche lourdement sur un problème.

J'ai une liste de quelques centaines de lignes et j aimerai pouvoir
copier des blocs de lignes discontinues de la feuille et les coller a
la suite sur la feuille 2. (la ligne entière)

Le probleme c'est que le fichier est donné en vrac, et l on a un
mélange de noms et de valeurs .Simplement il est possible de
récupérer les infos dont j ai besoin a partir de certains repères
qui ne varient pas .

Exemple :

Jacques
Repère 1
Louis
Jean
Repere2
Durant
Dupont
repere 3
eric
Repère 1
Elise
jean
Marine
louis
Joelle
Repère 2
louis
repere 3


Les valeurs" repère 1" et "repère 2 " ne varient pas et se suivent
dans le même ordre simplement c est la liste et le nombre des noms
qui changent. (de 1 a 30 environs)
La difficulté c'est que les noms se répètent dans la liste. Je ne
dois récupérer que ceux compris entre " repère 1 et repere2 " .
Je pense qu'il faut faire une boucle a 2 conditions ( si le nom1 se
situe apres repere1 et avant repere 2, donc selectionner, etc... puis
copier/coller)

Si vous avez une indication a proposer ...


Par avance un grand merci


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O





Avatar
lSteph
Bonsoir,
adaptant , cela donne des messages d'erreur ..
Cela peut dépendre de la façon d'adapter ce qu'a proposé JLuc


je cherchais aussi à répondre mais finalement repéré qu'il y avait là
comme un repaire de faux repères, à savoir:
Repère 1 est différent de Repère 1 et de rePere1 et de Repere 1
alors avant d'arriver à repère2 il faut considèrer ceci:

copier des blocs de lignes discontinues de la feuille et les coller a
la suite sur la feuille 2. (la ligne entière)




la ligne entière , alors que le propos présente ceci, une seule cellule
par ligne:

Exemple :

Jacques
Repère 1
Louis
Jean
Repere2
Durant
Dupont
repere 3
eric
Repère 1
Elise
jean




Alors on se raccrocherait bien à ceci:
Les valeurs" repère 1" et "repère 2 " ne varient pas et se suivent
dans le même ordre
Tout cela n'est pas vraiment évident , en l'état.




Il me semble qu'un exemple sur http://cjoint.com aiderit probablement à
y voir plus clair.

Cordialement.

lSteph



Bonsoir

Merci pour la réponse
J'ai essayé d'appliquer cette méthode , en vain , cela plante l'appli . En
adaptant , cela donne des messages d'erreur ...
"JLuc" a écrit dans le message de
news:
*Bonjour *,
Peut être ceci :

For x = 1 To Range("A65536").End(xlup).Row
While Cells(x, 1) <> "Repere1"
x = x + 1
Wend
While Cells(x, 1) <> "Repere2"
Cells(x, 1).EntireRow.Copy Destination:=Sheets("Feuil2") 'A
adapter
x = x + 1
Wend
Next

Code jeter comme ça, sans test :')

Bonjour, Bonsoir

Je debute en VBA et la je planche lourdement sur un problème.

J'ai une liste de quelques centaines de lignes et j aimerai pouvoir
copier des blocs de lignes discontinues de la feuille et les coller a
la suite sur la feuille 2. (la ligne entière)

Le probleme c'est que le fichier est donné en vrac, et l on a un
mélange de noms et de valeurs .Simplement il est possible de
récupérer les infos dont j ai besoin a partir de certains repères
qui ne varient pas .

Exemple :

Jacques
Repère 1
Louis
Jean
Repere2
Durant
Dupont
repere 3
eric
Repère 1
Elise
jean
Marine
louis
Joelle
Repère 2
louis
repere 3


Les valeurs" repère 1" et "repère 2 " ne varient pas et se suivent
dans le même ordre simplement c est la liste et le nombre des noms
qui changent. (de 1 a 30 environs)
La difficulté c'est que les noms se répètent dans la liste. Je ne
dois récupérer que ceux compris entre " repère 1 et repere2 " .
Je pense qu'il faut faire une boucle a 2 conditions ( si le nom1 se
situe apres repere1 et avant repere 2, donc selectionner, etc... puis
copier/coller)

Si vous avez une indication a proposer ...


Par avance un grand merci


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O



--
- -



Avatar
bac
Bonsoir Isteph
Oui pardon, il sagit d'une erreur de transcription. C'etait juste pour
illustrer mon propos.
Il faut lire en effet repere1 et repere2 ( en minuscules, sans accent et
sans espaces)
En fait , il sagit de recopier toutes les lignes qui se trouvent entre
"repere1" et "repere2" et de les copier a la file sur une autre feuille.
J'ai un bout de code , tres insuffisant, qui ne copie que la ligne située
sous " repere1" .
Donc je prend volontiers toute suggestion

Encore merci

For i = 2 To 1000
Worksheets(1).Range("A" & i & ":D" & i).Copy
If Cells(i, 1) = "repere1" Then
Worksheets(1).Cells(i , 1).Copy

Worksheets(2).Cells(i , 1).PasteSpecial Paste:=xlPasteAll
End If
Next i






"lSteph" a écrit dans le message de
news:
Bonsoir,
adaptant , cela donne des messages d'erreur ..
Cela peut dépendre de la façon d'adapter ce qu'a proposé JLuc


je cherchais aussi à répondre mais finalement repéré qu'il y avait là
comme un repaire de faux repères, à savoir:
Repère 1 est différent de Repère 1 et de rePere1 et de Repere 1
alors avant d'arriver à repère2 il faut considèrer ceci:

copier des blocs de lignes discontinues de la feuille et les coller a
la suite sur la feuille 2. (la ligne entière)




la ligne entière , alors que le propos présente ceci, une seule cellule
par ligne:

Exemple :

Jacques
Repère 1
Louis
Jean
Repere2
Durant
Dupont
repere 3
eric
Repère 1
Elise
jean




Alors on se raccrocherait bien à ceci:
Les valeurs" repère 1" et "repère 2 " ne varient pas et se suivent
dans le même ordre
Tout cela n'est pas vraiment évident , en l'état.




Il me semble qu'un exemple sur http://cjoint.com aiderit probablement à
y voir plus clair.

Cordialement.

lSteph



Bonsoir

Merci pour la réponse
J'ai essayé d'appliquer cette méthode , en vain , cela plante l'appli .
En


adaptant , cela donne des messages d'erreur ...
"JLuc" a écrit dans le message de
news:
*Bonjour *,
Peut être ceci :

For x = 1 To Range("A65536").End(xlup).Row
While Cells(x, 1) <> "Repere1"
x = x + 1
Wend
While Cells(x, 1) <> "Repere2"
Cells(x, 1).EntireRow.Copy Destination:=Sheets("Feuil2") 'A
adapter
x = x + 1
Wend
Next

Code jeter comme ça, sans test :')

Bonjour, Bonsoir

Je debute en VBA et la je planche lourdement sur un problème.

J'ai une liste de quelques centaines de lignes et j aimerai pouvoir
copier des blocs de lignes discontinues de la feuille et les coller a
la suite sur la feuille 2. (la ligne entière)

Le probleme c'est que le fichier est donné en vrac, et l on a un
mélange de noms et de valeurs .Simplement il est possible de
récupérer les infos dont j ai besoin a partir de certains repères
qui ne varient pas .

Exemple :

Jacques
Repère 1
Louis
Jean
Repere2
Durant
Dupont
repere 3
eric
Repère 1
Elise
jean
Marine
louis
Joelle
Repère 2
louis
repere 3


Les valeurs" repère 1" et "repère 2 " ne varient pas et se suivent
dans le même ordre simplement c est la liste et le nombre des noms
qui changent. (de 1 a 30 environs)
La difficulté c'est que les noms se répètent dans la liste. Je ne
dois récupérer que ceux compris entre " repère 1 et repere2 " .
Je pense qu'il faut faire une boucle a 2 conditions ( si le nom1 se
situe apres repere1 et avant repere 2, donc selectionner, etc... puis
copier/coller)

Si vous avez une indication a proposer ...


Par avance un grand merci


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O



--
- -







Avatar
JLuc
*Bonjour bac*,
Donc, mon code va pas trop mal avec un peu d'adaptation :

For x = 1 To Range("A65536").End(xlup).Row
While Cells(x, 1) <> "Repere1"
x = x + 1
Wend
x = x + 1
While Cells(x, 1) <> "Repere2"
Cells(x, 1).EntireRow.Copy
Sheets(2).Cells(65536, 1).End(xlup).Offset(1, 0).PasteSpecial
Paste:=xlPasteAll
x = x + 1
Wend
Next


Bonsoir Isteph
Oui pardon, il sagit d'une erreur de transcription. C'etait juste pour
illustrer mon propos.
Il faut lire en effet repere1 et repere2 ( en minuscules, sans accent et
sans espaces)
En fait , il sagit de recopier toutes les lignes qui se trouvent entre
"repere1" et "repere2" et de les copier a la file sur une autre feuille.
J'ai un bout de code , tres insuffisant, qui ne copie que la ligne située
sous " repere1" .
Donc je prend volontiers toute suggestion

Encore merci

For i = 2 To 1000
Worksheets(1).Range("A" & i & ":D" & i).Copy
If Cells(i, 1) = "repere1" Then
Worksheets(1).Cells(i , 1).Copy

Worksheets(2).Cells(i , 1).PasteSpecial Paste:=xlPasteAll
End If
Next i






"lSteph" a écrit dans le message de
news:
Bonsoir,
adaptant , cela donne des messages d'erreur ..
Cela peut dépendre de la façon d'adapter ce qu'a proposé JLuc


je cherchais aussi à répondre mais finalement repéré qu'il y avait là
comme un repaire de faux repères, à savoir:
Repère 1 est différent de Repère 1 et de rePere1 et de Repere 1
alors avant d'arriver à repère2 il faut considèrer ceci:

copier des blocs de lignes discontinues de la feuille et les coller a
la suite sur la feuille 2. (la ligne entière)




la ligne entière , alors que le propos présente ceci, une seule cellule
par ligne:

Exemple :

Jacques
Repère 1
Louis
Jean
Repere2
Durant
Dupont
repere 3
eric
Repère 1
Elise
jean




Alors on se raccrocherait bien à ceci:
Les valeurs" repère 1" et "repère 2 " ne varient pas et se suivent
dans le même ordre
Tout cela n'est pas vraiment évident , en l'état.




Il me semble qu'un exemple sur http://cjoint.com aiderit probablement à
y voir plus clair.

Cordialement.

lSteph



Bonsoir

Merci pour la réponse
J'ai essayé d'appliquer cette méthode , en vain , cela plante l'appli . En
adaptant , cela donne des messages d'erreur ...
"JLuc" a écrit dans le message de
news:
*Bonjour *,
Peut être ceci :

For x = 1 To Range("A65536").End(xlup).Row
While Cells(x, 1) <> "Repere1"
x = x + 1
Wend
While Cells(x, 1) <> "Repere2"
Cells(x, 1).EntireRow.Copy Destination:=Sheets("Feuil2") 'A
adapter
x = x + 1
Wend
Next

Code jeter comme ça, sans test :')

Bonjour, Bonsoir

Je debute en VBA et la je planche lourdement sur un problème.

J'ai une liste de quelques centaines de lignes et j aimerai pouvoir
copier des blocs de lignes discontinues de la feuille et les coller a
la suite sur la feuille 2. (la ligne entière)

Le probleme c'est que le fichier est donné en vrac, et l on a un
mélange de noms et de valeurs .Simplement il est possible de
récupérer les infos dont j ai besoin a partir de certains repères
qui ne varient pas .

Exemple :

Jacques
Repère 1
Louis
Jean
Repere2
Durant
Dupont
repere 3
eric
Repère 1
Elise
jean
Marine
louis
Joelle
Repère 2
louis
repere 3


Les valeurs" repère 1" et "repère 2 " ne varient pas et se suivent
dans le même ordre simplement c est la liste et le nombre des noms
qui changent. (de 1 a 30 environs)
La difficulté c'est que les noms se répètent dans la liste. Je ne
dois récupérer que ceux compris entre " repère 1 et repere2 " .
Je pense qu'il faut faire une boucle a 2 conditions ( si le nom1 se
situe apres repere1 et avant repere 2, donc selectionner, etc... puis
copier/coller)

Si vous avez une indication a proposer ...


Par avance un grand merci


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O



--
- -



--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O





Avatar
bac
Bonjour

Encore merci pour vos reponses

Je ne trouve toujours pas la solution...
En applicant ce code j'ai une erreur a l'execution ( erreur 1004, erreur
définie par l' application ou par l'objet) .
Peut etre que j'omet de declarer certaines variables ??
je l'ai essayé avec l' exemple proposé hier ( avec les corrections qui
s'imposaient). c'est le même type d erreur qui reapparait.

Cordialement




"JLuc" a écrit dans le message de
news:
*Bonjour bac*,
Donc, mon code va pas trop mal avec un peu d'adaptation :

For x = 1 To Range("A65536").End(xlup).Row
While Cells(x, 1) <> "Repere1"
x = x + 1
Wend
x = x + 1
While Cells(x, 1) <> "Repere2"
Cells(x, 1).EntireRow.Copy
Sheets(2).Cells(65536, 1).End(xlup).Offset(1, 0).PasteSpecial
Paste:=xlPasteAll
x = x + 1
Wend
Next


Bonsoir Isteph
Oui pardon, il sagit d'une erreur de transcription. C'etait juste pour
illustrer mon propos.
Il faut lire en effet repere1 et repere2 ( en minuscules, sans accent et
sans espaces)
En fait , il sagit de recopier toutes les lignes qui se trouvent entre
"repere1" et "repere2" et de les copier a la file sur une autre feuille.
J'ai un bout de code , tres insuffisant, qui ne copie que la ligne
située


sous " repere1" .
Donc je prend volontiers toute suggestion

Encore merci

For i = 2 To 1000
Worksheets(1).Range("A" & i & ":D" & i).Copy
If Cells(i, 1) = "repere1" Then
Worksheets(1).Cells(i , 1).Copy

Worksheets(2).Cells(i , 1).PasteSpecial Paste:=xlPasteAll
End If
Next i






"lSteph" a écrit dans le message de
news:
Bonsoir,
adaptant , cela donne des messages d'erreur ..
Cela peut dépendre de la façon d'adapter ce qu'a proposé JLuc


je cherchais aussi à répondre mais finalement repéré qu'il y avait là
comme un repaire de faux repères, à savoir:
Repère 1 est différent de Repère 1 et de rePere1 et de Repere 1
alors avant d'arriver à repère2 il faut considèrer ceci:

copier des blocs de lignes discontinues de la feuille et les coller
a






la suite sur la feuille 2. (la ligne entière)




la ligne entière , alors que le propos présente ceci, une seule cellule
par ligne:

Exemple :

Jacques
Repère 1
Louis
Jean
Repere2
Durant
Dupont
repere 3
eric
Repère 1
Elise
jean




Alors on se raccrocherait bien à ceci:
Les valeurs" repère 1" et "repère 2 " ne varient pas et se suivent
dans le même ordre
Tout cela n'est pas vraiment évident , en l'état.




Il me semble qu'un exemple sur http://cjoint.com aiderit probablement à
y voir plus clair.

Cordialement.

lSteph



Bonsoir

Merci pour la réponse
J'ai essayé d'appliquer cette méthode , en vain , cela plante l'appli
. En




adaptant , cela donne des messages d'erreur ...
"JLuc" a écrit dans le message de
news:
*Bonjour *,
Peut être ceci :

For x = 1 To Range("A65536").End(xlup).Row
While Cells(x, 1) <> "Repere1"
x = x + 1
Wend
While Cells(x, 1) <> "Repere2"
Cells(x, 1).EntireRow.Copy Destination:=Sheets("Feuil2") 'A
adapter
x = x + 1
Wend
Next

Code jeter comme ça, sans test :')

Bonjour, Bonsoir

Je debute en VBA et la je planche lourdement sur un problème.

J'ai une liste de quelques centaines de lignes et j aimerai pouvoir
copier des blocs de lignes discontinues de la feuille et les coller
a






la suite sur la feuille 2. (la ligne entière)

Le probleme c'est que le fichier est donné en vrac, et l on a un
mélange de noms et de valeurs .Simplement il est possible de
récupérer les infos dont j ai besoin a partir de certains repères
qui ne varient pas .

Exemple :

Jacques
Repère 1
Louis
Jean
Repere2
Durant
Dupont
repere 3
eric
Repère 1
Elise
jean
Marine
louis
Joelle
Repère 2
louis
repere 3


Les valeurs" repère 1" et "repère 2 " ne varient pas et se suivent
dans le même ordre simplement c est la liste et le nombre des noms
qui changent. (de 1 a 30 environs)
La difficulté c'est que les noms se répètent dans la liste. Je ne
dois récupérer que ceux compris entre " repère 1 et repere2 " .
Je pense qu'il faut faire une boucle a 2 conditions ( si le nom1 se
situe apres repere1 et avant repere 2, donc selectionner, etc...
puis






copier/coller)

Si vous avez une indication a proposer ...


Par avance un grand merci


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O



--
- -



--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O









Avatar
JLuc
J'avais oublier un tout petit détail, je testais pas le numero de ligne
:'). Voila qui est resolu et qui marche

Sub test()
nblig = Range("A65536").End(xlUp).Row
For x = 1 To nblig
While Cells(x, 1) <> "Repere1" And x < nblig
x = x + 1
Wend
x = x + 1
While Cells(x, 1) <> "Repere2" And x < nblig
Cells(x, 1).EntireRow.Copy
Sheets(2).Cells(65536, 1).End(xlUp).Offset(1, 0).PasteSpecial
Paste:=xlPasteAll
x = x + 1
Wend
Next

End Sub

--
JLuc
Avatar
bac
Bonjour
Merci JLuc pour les reponses .
J'ai donc essayé selon cette methode mais malheureusement cela ne fonctionne
pas . on sort de la boucle rapidement sans pouvoir recuperer les infos.
Comment on peut ecrire la syntaxe suivante ?
parcourir les lignes de la colonne A
numeroter toutes les cellules
tant que numero de la cellule x > numero de la cellule contenant le mot
"repere1" et < au numero de cellule contenant le mot "repere2"
alors copier la ligne sur la feuille 2
ligne suivante

Merci


"JLuc" a écrit dans le message de
news:
J'avais oublier un tout petit détail, je testais pas le numero de ligne
:'). Voila qui est resolu et qui marche

Sub test()
nblig = Range("A65536").End(xlUp).Row
For x = 1 To nblig
While Cells(x, 1) <> "Repere1" And x < nblig
x = x + 1
Wend
x = x + 1
While Cells(x, 1) <> "Repere2" And x < nblig
Cells(x, 1).EntireRow.Copy
Sheets(2).Cells(65536, 1).End(xlUp).Offset(1, 0).PasteSpecial
Paste:=xlPasteAll
x = x + 1
Wend
Next

End Sub

--
JLuc




Avatar
JLuc
Comment sont organisées tes données ? Chez moi, ça marche au top après
un test sur les données d'origine de ton premier post !
En remaniant tous les "repere" pour qu'ils soient coérant

bac avait soumis l'idée :
Bonjour
Merci JLuc pour les reponses .
J'ai donc essayé selon cette methode mais malheureusement cela ne fonctionne
pas . on sort de la boucle rapidement sans pouvoir recuperer les infos.
Comment on peut ecrire la syntaxe suivante ?
parcourir les lignes de la colonne A
numeroter toutes les cellules
tant que numero de la cellule x > numero de la cellule contenant le mot
"repere1" et < au numero de cellule contenant le mot "repere2"
alors copier la ligne sur la feuille 2
ligne suivante

Merci


"JLuc" a écrit dans le message de
news:
J'avais oublier un tout petit détail, je testais pas le numero de ligne
:'). Voila qui est resolu et qui marche

Sub test()
nblig = Range("A65536").End(xlUp).Row
For x = 1 To nblig
While Cells(x, 1) <> "Repere1" And x < nblig
x = x + 1
Wend
x = x + 1
While Cells(x, 1) <> "Repere2" And x < nblig
Cells(x, 1).EntireRow.Copy
Sheets(2).Cells(65536, 1).End(xlUp).Offset(1, 0).PasteSpecial
Paste:=xlPasteAll
x = x + 1
Wend
Next

End Sub

--
JLuc



--
JLuc


Avatar
bac
Autant pour moi , cela fonctionne maintenant ... J'ai du faire une erreur de
saisie.
Un tres grand merci pour cette aide !!


"JLuc" a écrit dans le message de
news:
Comment sont organisées tes données ? Chez moi, ça marche au top après
un test sur les données d'origine de ton premier post !
En remaniant tous les "repere" pour qu'ils soient coérant

bac avait soumis l'idée :
Bonjour
Merci JLuc pour les reponses .
J'ai donc essayé selon cette methode mais malheureusement cela ne
fonctionne


pas . on sort de la boucle rapidement sans pouvoir recuperer les infos.
Comment on peut ecrire la syntaxe suivante ?
parcourir les lignes de la colonne A
numeroter toutes les cellules
tant que numero de la cellule x > numero de la cellule contenant le mot
"repere1" et < au numero de cellule contenant le mot "repere2"
alors copier la ligne sur la feuille 2
ligne suivante

Merci


"JLuc" a écrit dans le message de
news:
J'avais oublier un tout petit détail, je testais pas le numero de ligne
:'). Voila qui est resolu et qui marche

Sub test()
nblig = Range("A65536").End(xlUp).Row
For x = 1 To nblig
While Cells(x, 1) <> "Repere1" And x < nblig
x = x + 1
Wend
x = x + 1
While Cells(x, 1) <> "Repere2" And x < nblig
Cells(x, 1).EntireRow.Copy
Sheets(2).Cells(65536, 1).End(xlUp).Offset(1, 0).PasteSpecial
Paste:=xlPasteAll
x = x + 1
Wend
Next

End Sub

--
JLuc



--
JLuc