Excel recherche et copie d une ligne
Résolu/Fermé
A voir également:
- Excel recherche et copie d une ligne
- Aller à la ligne excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Copie cachée - Guide
9 réponses
WhiteFang
Messages postés
2063
Date d'inscription
dimanche 1 septembre 2002
Statut
Membre
Dernière intervention
15 février 2008
204
31 août 2005 à 16:17
31 août 2005 à 16:17
;-)
Un petit exemple... Sachant que la variable MotCherché contient ce que tu cherches, et que la colonne à explucher est la colonne 1, que le classeur d'origine est le premier classeur ouvert et la feuille d'origine est la première feuille, la feuille destination est la 2 ème feuille du classeur 1... tu n'as plus qu'a remplacer avec tes données à toi, et extrapoler...
;-)
Dim MotCherche, L, C, InL, InC, OutL Dim Origine, Destination Set Origine = Workbooks(1).Sheets(1) Set Destination = Workbooks(1).Sheets(2) MotCherche = "un truc" InL = Origine.ActiveCell.SpecialCells(xlCellTypeLastCell).Row InC = Destination.ActiveCell.SpecialCells(xlCellTypeLastCell).Column OutL = Destination.ActiveCell.SpecialCells(xlCellTypeLastCell).Row For L = 1 To InL If Origine.Cells(L, 1).Value = MotCherché Then For C = 1 To InC Destination.Cells(OutL, C).Value = Origine.Cells(L, C).Value OutL = OutL + 1 Next End If Next
Un petit exemple... Sachant que la variable MotCherché contient ce que tu cherches, et que la colonne à explucher est la colonne 1, que le classeur d'origine est le premier classeur ouvert et la feuille d'origine est la première feuille, la feuille destination est la 2 ème feuille du classeur 1... tu n'as plus qu'a remplacer avec tes données à toi, et extrapoler...
;-)
merci à tous mais j ai solutionné mon problème .
il me faut maintenant
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 30/08/2005 par GuimarEm
Dim tableau(50), i, j, k
i = 2
j = 0
While i < 50
If Workbooks("xx").Sheets("Feuil1").Cells(8, i) = "x" Then
tableau(j) = Workbooks("xx.xls").Sheets("Feuil1").Cells(7, i)
j = j + 1
End If
i = i + 1
Wend
k = 5
j = 0
While tableau(j) <> ""
i = 2
While i < 1000
While Workbooks("xx.xls").Sheets("maxcase").Cells(i, 35) <> tableau(j) And i < 1000
i = i + 1
Wend
Workbooks("xx.xls").Sheets("maxcase").Rows(i).Copy
Sheets("tableau").Select
Rows(k).Select
ActiveSheet.Paste
k = k + 1
i = i + 1
Wend
j = j + 1
Wend
End Sub
voici mon programme toute fois un problème subsiste dans la ligne
While Workbooks("xx.xls").Sheets("maxcase").Cells(i, 35) <> tableau(j) And i < 1000
car tout va bien quand il y a que la chaine de caratere spécifié mais quand il y a la chaiine de caractère plus une autre chaine dans la meme cellule il bne veut pas prendre la cellule alors que je voudrai
Connaissez vous l opérateur permettant de le lui dire
il me faut maintenant
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 30/08/2005 par GuimarEm
Dim tableau(50), i, j, k
i = 2
j = 0
While i < 50
If Workbooks("xx").Sheets("Feuil1").Cells(8, i) = "x" Then
tableau(j) = Workbooks("xx.xls").Sheets("Feuil1").Cells(7, i)
j = j + 1
End If
i = i + 1
Wend
k = 5
j = 0
While tableau(j) <> ""
i = 2
While i < 1000
While Workbooks("xx.xls").Sheets("maxcase").Cells(i, 35) <> tableau(j) And i < 1000
i = i + 1
Wend
Workbooks("xx.xls").Sheets("maxcase").Rows(i).Copy
Sheets("tableau").Select
Rows(k).Select
ActiveSheet.Paste
k = k + 1
i = i + 1
Wend
j = j + 1
Wend
End Sub
voici mon programme toute fois un problème subsiste dans la ligne
While Workbooks("xx.xls").Sheets("maxcase").Cells(i, 35) <> tableau(j) And i < 1000
car tout va bien quand il y a que la chaine de caratere spécifié mais quand il y a la chaiine de caractère plus une autre chaine dans la meme cellule il bne veut pas prendre la cellule alors que je voudrai
Connaissez vous l opérateur permettant de le lui dire
merci à tous pour votre aide .
Pour faire comprendre le prog que j ai fait qui a un peu changé depuis je vais m expliquer un peu mieux.
le fichier excel contient 3 onglets le premier contient un tableau avec des cases à cocher representant des options . le deuxième contient l intitulé du tableau et le 3 toutes les données en fonction des otpions . donc le porg vise après avoir coché les options on lance le prog et il va remplir le tableau de la 2 feuille en fonction des options et des données de la troisième feuille.
En tout cas je vous remercie tous beaucoup
Pour faire comprendre le prog que j ai fait qui a un peu changé depuis je vais m expliquer un peu mieux.
le fichier excel contient 3 onglets le premier contient un tableau avec des cases à cocher representant des options . le deuxième contient l intitulé du tableau et le 3 toutes les données en fonction des otpions . donc le porg vise après avoir coché les options on lance le prog et il va remplir le tableau de la 2 feuille en fonction des options et des données de la troisième feuille.
En tout cas je vous remercie tous beaucoup
teleteube
Messages postés
4
Date d'inscription
dimanche 27 juillet 2003
Statut
Membre
Dernière intervention
7 février 2006
3
31 août 2005 à 13:38
31 août 2005 à 13:38
Pour selectionner la ligne complete de la cellule A2 par exemple:
Sub SelectionLigne()
Range("A2").EntireRow.Select
End Sub
Voila j'espere que c'est ce que tu voulais.
ciao
Sub SelectionLigne()
Range("A2").EntireRow.Select
End Sub
Voila j'espere que c'est ce que tu voulais.
ciao
WhiteFang
Messages postés
2063
Date d'inscription
dimanche 1 septembre 2002
Statut
Membre
Dernière intervention
15 février 2008
204
31 août 2005 à 14:31
31 août 2005 à 14:31
;-) Et en plus court : Rows(1).Select...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
WhiteFang
Messages postés
2063
Date d'inscription
dimanche 1 septembre 2002
Statut
Membre
Dernière intervention
15 février 2008
204
31 août 2005 à 15:15
31 août 2005 à 15:15
;-)
Cela me paraît énorme, en lignes, par rapport au problème...
Une question : Comment et où est défini le mot à rechercher, pour la copie ?
;-)
Cela me paraît énorme, en lignes, par rapport au problème...
Une question : Comment et où est défini le mot à rechercher, pour la copie ?
;-)
J'ai 4 colonnes. La premier contient un numéro, la deuxieme une liste, la troisieme un numéro la quatrième une liste.
Je souhaite inscrire dans une cinquième colonne le numéro de la colonne 1 dont le champs de la colonne 2 est identique à celui de la colonne 4 et ceci sur la ligne du champs de la colonne 4
Merci
Je souhaite inscrire dans une cinquième colonne le numéro de la colonne 1 dont le champs de la colonne 2 est identique à celui de la colonne 4 et ceci sur la ligne du champs de la colonne 4
Merci
Bonjour,
Je me suis inspiré de la macro de WhiteFAng pour écrire la macro ci-dessous...
L'objectif est de copier le contenu de 2 cellules de la feuille source vers 2 cellules de la feuille cible pour toute les lignes dont la valeur REFERENCE sont identiques:
Mais l'execution plante avec le msg suivant : Objet Requis
Je ne vois pas quel objet n'est pas déclaré ... Une idée ?
Merci Beaucoup
Sub MAJ()
'
' Macro MAJ Mise à Jour Stock
'
Dim Reference, Cref, Quantite, Cqua, Unitaire, Cuni, L, LMIN, LMAX
Dim Source, Cible
Set Source = Workbooks("Stock2008").Sheets("Saisie")
Set Cible = Workbooks("Stock2008").Sheets("Stocks")
Set LMIN = 4
Set LMAX = 403
Set Cref = 2
Set Cqua = 4
Set Cuni = 6
Reference = Source.Range("A3:B3").Select
For L = LMIN To LMAX
If Cible.Cells(L, Cref).Value = Reference Then
Quantite = Source.Range("D14:D14").Select
Cible.Cells(L, Cqua).Value = Quantite
Unitaire = Source.Range("F14:F14").Select
Cible.Cells(L, Cuni).Value = Unitaire
Next
End If
End Sub
Je me suis inspiré de la macro de WhiteFAng pour écrire la macro ci-dessous...
L'objectif est de copier le contenu de 2 cellules de la feuille source vers 2 cellules de la feuille cible pour toute les lignes dont la valeur REFERENCE sont identiques:
Mais l'execution plante avec le msg suivant : Objet Requis
Je ne vois pas quel objet n'est pas déclaré ... Une idée ?
Merci Beaucoup
Sub MAJ()
'
' Macro MAJ Mise à Jour Stock
'
Dim Reference, Cref, Quantite, Cqua, Unitaire, Cuni, L, LMIN, LMAX
Dim Source, Cible
Set Source = Workbooks("Stock2008").Sheets("Saisie")
Set Cible = Workbooks("Stock2008").Sheets("Stocks")
Set LMIN = 4
Set LMAX = 403
Set Cref = 2
Set Cqua = 4
Set Cuni = 6
Reference = Source.Range("A3:B3").Select
For L = LMIN To LMAX
If Cible.Cells(L, Cref).Value = Reference Then
Quantite = Source.Range("D14:D14").Select
Cible.Cells(L, Cqua).Value = Quantite
Unitaire = Source.Range("F14:F14").Select
Cible.Cells(L, Cuni).Value = Unitaire
Next
End If
End Sub
Bonjour,
Dans le même ordre d'idées:
voici mon tableau:
Intitulé Nom Prenom
dn: Lecoq,OU=utilisateur,OU=Test,DC=fr,DC=machin,DC=local CN=Yves
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: Lecoq Yves
displayName: Lecoq Yves
sAMAccountName: ylecoq
dn: Coluche,OU=utilisateur,OU=Test,DC=fr,DC=machin,DC=local CN=Michel
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: Coluche Michel
displayName: Coluche Michel
sAMAccountName: mcoluche
changetype: add
sAMAccountName: ajoly
cn: Joly Angelina
displayName: Joly Angelina
dn: Joly,OU=utilisateur,OU=Test,DC=fr,DC=machin,DC=local CN=Angelina
objectClass: organizationalPerson
objectClass: person
objectClass: top
objectClass: user
dn: Ricard,OU=utilisateur,OU=Test,DC=fr,DC=machin,DC=local CN=Paul
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: Ricard Paul
displayName: Ricard Paul
sAMAccountName: pricard
Je souhaite recuperer de la colonne 1 le sAMAccountName: et le contenu se situant dans la colonne 3
ainsi que le displayName et le contenu se situant en colonne 2 et 3
Pour mettre ceci dans une autre feuille, et les regrouper:
du style:
samaccountname: pricard
CN: ricard paul
J'espère avoir été assez explicite.
Merci pour toutes aides.
Dans le même ordre d'idées:
voici mon tableau:
Intitulé Nom Prenom
dn: Lecoq,OU=utilisateur,OU=Test,DC=fr,DC=machin,DC=local CN=Yves
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: Lecoq Yves
displayName: Lecoq Yves
sAMAccountName: ylecoq
dn: Coluche,OU=utilisateur,OU=Test,DC=fr,DC=machin,DC=local CN=Michel
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: Coluche Michel
displayName: Coluche Michel
sAMAccountName: mcoluche
changetype: add
sAMAccountName: ajoly
cn: Joly Angelina
displayName: Joly Angelina
dn: Joly,OU=utilisateur,OU=Test,DC=fr,DC=machin,DC=local CN=Angelina
objectClass: organizationalPerson
objectClass: person
objectClass: top
objectClass: user
dn: Ricard,OU=utilisateur,OU=Test,DC=fr,DC=machin,DC=local CN=Paul
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: Ricard Paul
displayName: Ricard Paul
sAMAccountName: pricard
Je souhaite recuperer de la colonne 1 le sAMAccountName: et le contenu se situant dans la colonne 3
ainsi que le displayName et le contenu se situant en colonne 2 et 3
Pour mettre ceci dans une autre feuille, et les regrouper:
du style:
samaccountname: pricard
CN: ricard paul
J'espère avoir été assez explicite.
Merci pour toutes aides.
31 août 2005 à 16:30
31 août 2005 à 16:31
22 oct. 2009 à 15:26
J'ai essayé le code mais
Lorsque la commande arrive à :
InL = Origine.ActiveCell.SpecialCells(xlCellTypeLastCell).Row
InC = Origine.ActiveCell.SpecialCells(xlCellTypeLastCell).Column
OutL = Destination.ActiveCell.SpecialCells(xlCellTypeLastCell).Row
j'obtiens le message d'erreur:
"Erreur d'éxécution '438': Propriété ou méthode non gérée par cet objet
Pouvez-vous m'apporter votre aide SVP?
23 juin 2010 à 16:11
Modifié par Kardej le 3/01/2012 à 15:54