Extraction de données feuille Excel
Résolu
klissou69
Messages postés
60
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerai extraire certaines données à partir d'un fichier brut.
Je copie/colle dans ma feuille excel une centaines de lignes.
Et je ne veux en récupérer que certaines.
Mais avec le code que j'ai produit, je suis obligé de supprimer toutes les lignes vides sinon mon code s'arrête au milieu.
Quelqu'un pourrait-il m'aider svp?
Merci d'avance .
Excel 2003
J'aimerai extraire certaines données à partir d'un fichier brut.
Je copie/colle dans ma feuille excel une centaines de lignes.
Et je ne veux en récupérer que certaines.
Mais avec le code que j'ai produit, je suis obligé de supprimer toutes les lignes vides sinon mon code s'arrête au milieu.
Quelqu'un pourrait-il m'aider svp?
Merci d'avance .
Sub test1formMT535() Dim k As Double 'initialisation des variables k = 2 Dim l As Double l = 2 Dim m As Double m = 2 nbcolonne1 = Sheets("MT535").UsedRange.Columns.Count 'compte le nombre de colonnes non vides sur la feuille 1 nbligne1 = Sheets("MT535").UsedRange.Rows.Count 'compte le nombre de lignes non vides sur la feuille 1 'MT535.Activate 'On active la feuille 1 où l'on va appliquer le code For i = 2 To nbligne1 'boucle qui va nous faire parcourir toutes les lignes de la feuille1 If Left(Cells(i, 1).Value, 5) = ":35B:" Then 'Si le début de la cellule contient ":35B:" Sheets("Traitement").Cells(k, 1).Value = Sheets("MT535").Cells(i, 1).Value 'Alors on copie la ligne k = k + 1 ElseIf Left(Cells(i, 1).Value, 5) = ":19A:" Then Sheets("Traitement").Cells(l, 3).Value = Sheets("MT535").Cells(i, 1).Value l = l + 1 ElseIf Left(Cells(i, 1).Value, 10) = ":93B::AVAI" Then Sheets("Traitement").Cells(m, 5).Value = Sheets("MT535").Cells(i, 1).Value m = m + 1 End If Next 'Traitement.Activate End Sub
Excel 2003
A voir également:
- Extraction de données feuille Excel
- Feuille de pointage excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Trier des données excel - Guide
- Word et excel gratuit - Guide
- Bruler feuille de laurier - Guide
3 réponses
Re,
Range("A" & Rows.Count).End(xlUp).Row
pour la colonne A:
Range("A" & Rows.Count) ----> donne la derniere ligne de la feuille (65536 pour 2003 et avant, 1048576 pour 2007 et apres)
Range("A" & Rows.Count).End(xlUp) ----->excel remonte jusqu'a trouver un cellule non vide
Range("A" & Rows.Count).End(xlUp).Row ----> excel donne la ligne de le derniere cellule non vide
Range("A" & Rows.Count).End(xlUp).Row
pour la colonne A:
Range("A" & Rows.Count) ----> donne la derniere ligne de la feuille (65536 pour 2003 et avant, 1048576 pour 2007 et apres)
Range("A" & Rows.Count).End(xlUp) ----->excel remonte jusqu'a trouver un cellule non vide
Range("A" & Rows.Count).End(xlUp).Row ----> excel donne la ligne de le derniere cellule non vide
Bonjour,
Bonne suite
Sub test1formMT535() Dim k As Double 'initialisation des variables k = 2 Dim l As Double l = 2 Dim m As Double m = 2 '----------------------------------------------------------- 'nbcolonne1 = Sheets("MT535").UsedRange.Columns.Count 'compte le nombre de colonnes non vides sur la feuille 1 'nbligne1 = Sheets("MT535").UsedRange.Rows.Count 'compte le nombre de lignes non vides sur la feuille 1 'MT535.Activate 'On active la feuille 1 où l'on va appliquer le code '----------------------------------------------------------- 'derniere cellule non vide colonne A: a adapter suivant nbligne1 = Sheets("MT535").Range("A" & Rows.Count).End(xlUp).Row For i = 2 To nbligne1 'boucle qui va nous faire parcourir toutes les lignes de la feuille1 If Left(Cells(i, 1).Value, 5) = ":35B:" Then 'Si le début de la cellule contient ":35B:" Sheets("Traitement").Cells(k, 1).Value = Sheets("MT535").Cells(i, 1).Value 'Alors on copie la ligne k = k + 1 ElseIf Left(Cells(i, 1).Value, 5) = ":19A:" Then Sheets("Traitement").Cells(l, 3).Value = Sheets("MT535").Cells(i, 1).Value l = l + 1 ElseIf Left(Cells(i, 1).Value, 10) = ":93B::AVAI" Then Sheets("Traitement").Cells(m, 5).Value = Sheets("MT535").Cells(i, 1).Value m = m + 1 End If Next 'Traitement.Activate End Sub
Bonne suite