Vba - copier lignes spécifiques
jim35
-
pijaku Messages postés 13513 Statut Modérateur -
pijaku Messages postés 13513 Statut Modérateur -
Bonjour,
jaurai besoin de copier seulement quelques lignes d'un tableau excel pour les coller dans une autre feuille.
J'ai ce code :
mais ce code copie toute la ligne avec la fonction "EntireRow" quand sur la même ligne il trouve la valeur "non valide". Or, je voudrai que quand il trouve la valeur "non valide", il copit seulement la colonne A, B,E de la même ligne.
Exemple, "non valide" s'inscrit dans la ligne 30 de "Feuil1", ma macro copie seulement A30, B30, E30 dans la feuille "Feuil2" quelqu'un peut m'aider?
merci
jaurai besoin de copier seulement quelques lignes d'un tableau excel pour les coller dans une autre feuille.
J'ai ce code :
Dim lig As Long
Dim col As String
Dim NbrLig As Long
Dim numlig As Long
Sheets("feuil2").Activate ' feuille de destination
col = "A" ' colonne de la donnée non vide à tester
numlig = 0
With Sheets("feuil1") ' feuille source
NbrLig = .Cells(65536, col).End(xlUp).Row
For lig = 1 To NbrLig
If .Cells(lig, col).Value = "Non valide" Then
.Cells(lig, col).EntireRow.Copy
numlig = numlig + 1
Cells(numlig, 1).Select
ActiveSheet.Paste
End If
Next
End With
mais ce code copie toute la ligne avec la fonction "EntireRow" quand sur la même ligne il trouve la valeur "non valide". Or, je voudrai que quand il trouve la valeur "non valide", il copit seulement la colonne A, B,E de la même ligne.
Exemple, "non valide" s'inscrit dans la ligne 30 de "Feuil1", ma macro copie seulement A30, B30, E30 dans la feuille "Feuil2" quelqu'un peut m'aider?
merci
A voir également:
- Vba - copier lignes spécifiques
- Comment copier une vidéo youtube - Guide
- Super copier - Télécharger - Gestion de fichiers
- Historique copier coller - Guide
- Copier-coller - Accueil - Informatique
- Unstoppable copier - Télécharger - Récupération de données
4 réponses
Bonjour,
C'est un forum où les helpeurs sont des bénévoles, et aussi étrange que cela puisse paraître, ont également une vie autre que CCM.
;o)
C'est un forum où les helpeurs sont des bénévoles, et aussi étrange que cela puisse paraître, ont également une vie autre que CCM.
.Cells(lig, col).Copy
;o)
Bonjour,
Un "ponte" du forum te répondrait : "t'affole pô ça va viendre!!!"...
ta variable col ne sert à rien, je l'ai virée; remplacée en fait par sa valeur (col A = 1 col B = 2 etc) en gras ci-dessous...
J'ai modifié ta macro comme suit :
Dim lig As Long
Dim NbrLig As Long
Dim numlig As Long
Sheets("feuil2").Activate ' feuille de destination
numlig = 1
With Sheets("feuil1") ' feuille source
NbrLig = .Cells(65536, 1).End(xlUp).Row
For lig = 1 To NbrLig
If .Cells(lig, 1).Value = "Non valide" Then
.Cells(lig, 1).Copy Cells(numlig, 1) 'copie colle cell feuil1 col A en feuil2 col A
.Cells(lig, 2).Copy Cells(numlig, 2) 'copie colle cell feuil1 col B en feuil2 col B
.Cells(lig, 5).Copy Cells(numlig, 3) 'copie colle cell feuil1 col E en feuil2 col C
numlig = numlig + 1
End If
Next
End With
Bon courage et ne t'impatiente pas trop...
Un "ponte" du forum te répondrait : "t'affole pô ça va viendre!!!"...
ta variable col ne sert à rien, je l'ai virée; remplacée en fait par sa valeur (col A = 1 col B = 2 etc) en gras ci-dessous...
J'ai modifié ta macro comme suit :
Dim lig As Long
Dim NbrLig As Long
Dim numlig As Long
Sheets("feuil2").Activate ' feuille de destination
numlig = 1
With Sheets("feuil1") ' feuille source
NbrLig = .Cells(65536, 1).End(xlUp).Row
For lig = 1 To NbrLig
If .Cells(lig, 1).Value = "Non valide" Then
.Cells(lig, 1).Copy Cells(numlig, 1) 'copie colle cell feuil1 col A en feuil2 col A
.Cells(lig, 2).Copy Cells(numlig, 2) 'copie colle cell feuil1 col B en feuil2 col B
.Cells(lig, 5).Copy Cells(numlig, 3) 'copie colle cell feuil1 col E en feuil2 col C
numlig = numlig + 1
End If
Next
End With
Bon courage et ne t'impatiente pas trop...