extraire les lignes entre deux cellules definies

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

I

IAGO

Guest
Bonjour à toutes et à tous 🙂
je cherche le moyen d'extraire toutes les lignes d'une feuille qui sont comprises entre deux cellules dont le texte est "Display ID"

en exemple :
de la ligne 1 à 4 : j'ai différentes valeurs qui ne me servent pas
en ligne 5 : colonne A : j'ai ma valeur "Display ID"
puis de la ligne 6 à la ligne x : j'ai touts les valeurs que je veux récupérer
en ligne x+1 colonne A : j'ai ma valeur "Display ID"
puis ligne x+2 à ligne x+y : j'ai différentes valeurs qui ne me servent pas

Sachant la première partie ligne 1 à 4 peut varier également.

je tente de faire une macro mais comme je débute j'ai beaucoup de mal.... 😛

Merci
 
Re : extraire les lignes entre deux cellules definies

bonjour,

envoie nous un bout de ton fichier, qu'on ne travaille pas trop dans le vide
sinon, tu veux supprimer toutes les lignes 'inutiles' oou copier les lignes qui te servent sur une autre feuille, dans le presse-papier, dans un nouveau classeur ?
 
Re : extraire les lignes entre deux cellules definies

re-bonjour,
tout d'abord je vous remercie de vous pencher sur mon problème

(au début je le faisais manuellement, mais avec la fréquence et la taille croissante des lignes... 🙁 )

Pour le fichier, je n'ai pas la possibilité d'envoyer ou de recevoir de pièce jointe à mon bureau, je vais essayer d'être au plus clair.


1) un import est effectué via un logiciel spécifique, qui génére un csv
2) dans ce fichier je veux récuperer toutes les lignes qui sont comprises entre deux cellules de la colonne A(n) et A(n+x) dont le contenu est "Display ID"
3)Ces informations une fois extraite sont utilisées pour la création de graphique etc...

J'ai essayé de mettre mon fichier en pièce jointe mais le pare feu du bureau refuse, j'ai réussi à la faire avec un jpg...
--> en vert : mes deux cellules références, avant et aprés la zone à selectionner (encadrée en rouge )

Merci
 

Pièces jointes

  • ligne.jpg
    ligne.jpg
    57.1 KB · Affichages: 67
Re : extraire les lignes entre deux cellules definies

Bonjour IAGO, Bertrand,

Bertrand étant déconnecté...

Le code de Bertrand :

Option Explicit
Sub supplignes()
Dim i, deb, fin, colfin
colfin = Range("a65536").End(xlUp).Row
For i = 1 To colfin
If Range("A" & i) = "Display ID" Then deb = i: i = colfin
Next i
For i = deb + 1 To colfin
If Range("A" & i) = "Display ID" Then fin = i: i = colfin
Next i
For i = colfin To fin Step -1
Rows(i).Delete
Next i
For i = deb To 1 Step -1
Rows(i).Delete
Next i
End Sub

Clic droit sur l'onglet de ta feuille/Visualiser le code et tu colles cela.

Si cela peut t'avancer.

Bon après-midi.

Jean-Pierre

Désolé, peux pas mettre les balises, indisponible en Réponse Rapide.
 
Re : extraire les lignes entre deux cellules definies

Bonjour Iago,

NB :écrire en majuscule équivaut à crier, or je ne crois pas que nous ayons mérité cela
sinon, sans un bout de ton fichier, on ne pourra (moi en tout cas) pas en faire beaucoup plus
une piste cependant, ou as-tu placé le code de la macro ?

NB, j'ai revérifié mon fichier et ma macro, elle tourne sans blem
 
Re : extraire les lignes entre deux cellules definies

pardon!
je m'excuse de l'interprétation de mes majuscules... je ne savais pas...
Je vous remercie de la peine et du temps passé à répondre à mes problèmes.
Bonne journée
 
Re : extraire les lignes entre deux cellules definies

Pour répondre à votre question,
j'ai tenté de placer la macro dans la feuille et aussi dans un module.
et l'execution à partir d'un bouton...
merci, et encore milles excuses pour mes 'MAJUSCULES'
 
Re : extraire les lignes entre deux cellules definies

Salut!
Si tu veux un code un peu plus intuitif pour trouver les numéros des lignes où il est écrit "Display ID":
Sub DisplayID()
'Initialise les variables LigneTop et LigneDown
LigneTop = 0
LigneDown = 0

'Cherche le No de la première et de la dernière ligne "Display"
For i = 1 To 10000
If Cells(i, 1) = "Display ID" Then
If LigneTop = 0 Then
LigneTop = i
Else
LigneDown = i
End If
End If
Next
MsgBox "LigneTop: " & LigneTop
MsgBox "LigneDown: " & LigneDown
End Sub

Tu peux mettre ce code dans un module et l'exécuter directement par:
Alt+F8 puis "DisplayID" et exécuter
J'espère que ça répondra à tes attentes
 
Re : extraire les lignes entre deux cellules definies

bonjour a tous

petit exercice avec Find

Code:
Sub extait()
With Worksheets("Feuil1").Range("a:a")
    Set c = .Find("Display ID", LookIn:=xlValues, lookat:=xlWhole)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
         adresses = adresses & c.Address(0, 0) & ":"
         n = n + 1
         Set c = .FindNext(c)
        Loop While n < 2
    End If
End With
ad = Left(adresses, Len(adresses) - 1)
linh = Range(ad).Row + 1
linb = linh + Range(ad).Rows.Count - 3
ActiveSheet.Rows(linh & ":" & linb).Copy Destination:=[COLOR=red]Sheets("Feuil2").Range("A1")
[/COLOR]End Sub

en rouge : a adapter pour la feuille de reception de l'extraction
 
Re : extraire les lignes entre deux cellules definies

Bonjour
merci ça marche trés bien!

j'utilisais ce matin
Sub supplignes()
Dim i, deb, fin, colfin
colfin = Range("a65536").End(xlUp).Row
For i = 1 To colfin
If Range("A" & i) = "Display ID" Then deb = i: i = colfin
Next i
For i = deb + 1 To colfin
If Range("A" & i) = "Display ID" Then fin = i: i = colfin
Next i
Rows(fin & ":" & colfin).Delete
Rows("1:" & deb).Delete
End Sub

mais la solution de Pierre est idéal!
Merci encore
 
- 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
19
Affichages
756
Retour