Recherche valeur X sur une ligne, si trouver chercher un autre X
Bonjour,
Cela fait 2 jours que je cherche un code qui permet de :
- rechercher un texte dans une colonne : Si le texte est présent alors je copie la cellule de a première colonne dans un autre fichier
=> Pour ça c'est ok.
Par contre, si je retrouve le texte sur une autre ligne ET que la cellule de la première colonne a déjà été copiée, ben on passe et on continue de cherche le texte dont la donnée de la première est différente.
Je ne sais pas si c'est clair comme explication. Je joins le fichier comme exemple avec le résultat attendu.
Dans mon code j'ai 2 boucles, et il me manque cette boucle
Sub Test()
Dim Feuil As Integer
Dim Prenom As Integer
Dim Lig As Long
For Each Feuil In ThisWorkbook 'Boucle sur les onglets
If Lig = "Manager" Then 'Si la ligne contient "Manager" alors
Range(1, Lig).Select 'Selectionner la cellule de la première colonne
Selection.Copy ' Copier
Set Feuil = "Manager" 'Selectionner l'onglet "Manager
Range(1, 2).Select 'Sélectionner la cellule "A2"
ActiveSheet.Paste ' Coller la valeur
Next Feuil
End Sub
Merci pour votre aide et votre temps.
Salut,
Dans le fichier ci-joint, à chaque fois que tu reviens sur la feuille ''MANAGER", les données en place sont réactualisées et ça dresse la liste des managers de tes deux feuilles de points de vente.
Amicalement.
Merci Yvouille.
Mais le prénom apparait 2 fois sur la feuille de résultat, alors que je veux que le prénom apparaît qu'une fois.
Les prénoms n'apparaissent pas deux fois : tu as deux Jérôme écrits différemment
Avec Excel, tu dois être d'une très grande précision !!!
Oup's désolé. J'ai été un peu trop vite. Je regarde et je reviens vers vous.
Merci
Bonjour,
For Each Feuil In ThisWorkbook 'Boucle sur les onglets
If Lig = "Manager" Then 'Si la ligne contient "Manager" alors
Range(1, Lig).Select 'Selectionner la cellule de la première colonne
Selection.Copy ' Copier
Set Feuil = "Manager" 'Selectionner l'onglet "Manager
Range(1, 2).Select 'Sélectionner la cellule "A2"
ActiveSheet.Paste ' Coller la valeur
Next Feuil
J'ai un message d'erreur de compilation sur la première ligne du code :
"La variable de contrôle For Each doit être de type Variant ou Object".
J'ai modifié et cherché mais rien n'y fait.
C'est possible de m'aider svp ?
Merci
En fait le code que vous avez fait fonctionne mais uniquement sur l'onglet "MANAGER".
L'idée de mon code est :
Résumé du code : chercher manager dans onglet_1 du classeur_X, si trouve le mot copier prénom dans cellule A1 du classeur_Y et enregistrer en PDF avec comme nom du fichier "prénom.
Et répéter cette boucle sur l'onglet 1, puis l'onglet 2 etc...
Sub Test()
Dim ws As Worksheet, Dim Prenom as Integer, Dim Lig As long
Dim i as Interger, Dim wb As Workbook
For each ws In ThisWorkbook 'Boucle sur les onglets
For i = to .Range(A" & Rows.Count).End(xlUp).Row. 'Boucle sur les ligne
If .Range("C" & i) = "Manager" Then. 'Si la cellule C de la ligne i contient "Manager" Alors
.Range(1,Lig).Select 'Sélectionner la cellule 1 de la ligne concernée
Selection.Copy 'Copier la cellule
Set wb = Workbook.Open ("C:chemin du fichier/Nom fichier/type de fichier"). 'Ouvrir le fichier
Set ws = ActiveWorkbook.Worksheets("Feuil1") 'Sélectionner l'onglet nommé "Feuil1"
Range(1,2).Select 'Sélectionner la cellule
ActiveSheet.Paste 'Copier la valeur
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filenam:= "C:/chemin du dossier/ Range "prénom"&"_"&"Manager" & ".pdf"
' enregistrement en PDF
End If
Next i
Next for ws
End Sub
Merci pour votre aide.
Salut,
Tes demandes successives sont tout sauf claires, tu nous perturbes avec ton premier fichier dans lequel tu montres que tu veux un résultat sur des feuilles du même fichier alors que ton texte parle d’une autre fichier Excel, tu changes ton fichier de base en y ajoutant des titres de colonnes et en modifiant le nom des feuilles, en changeant tes souhaits (tu veux maintenant un résultat PDF ?) et – pour couronner le tout – tu nous embrouilles avec tes tentatives de codes avortées.
Tu indiques que mon code ne fonctionne que pour la feuille ‘’Manager’’, mais je t’avais indiqué passablement clairement que je ne t’avais montré qu’un exemple de ce qu’il était possible de réaliser, sous-entendu réalisable pour 10, 20 ou 30 feuilles identiques de plus.
Si tu veux que je continue à t’aider, fournis-moi un fichier exactement comme il se présente avant d’être traité (nombre de feuilles exact, noms des feuilles exacts, présentation exacte des feuilles, pas de feuilles ‘’pour la démo’’ ou autre, etc. et indique-moi précisément le résultat final souhaité. S’il s’agit d’un ou plusieurs fichiers PDF ou d’un ou plusieurs fichiers Excel séparés, crées-en au moins un comme modèle du résultat attendu.
Ne me fournis aucun code ou fichier manqué.
Amicalement.
Bonjour Yvouille, avant tout chose : je vous présente mes excuses. C'est vrai que à chaque je change car une fois le retour à mes questions et demandes d'aides, je cherche à trouver une solution à mon fichier et à mon code.
En résumé mon code serait de :
- 1 fichier source où j'ai le prénom des salariés, et la catégorie. Le prénom apparaît sur plusieurs lignes
- 2 fichiers de pointage "employé" et "manager"
Objectif : rechercher dans le fichier source, si "manager" alors copier coller le prénom dans le fichier "manager" et enregistrer en PDF
Si "employé" alors copier coller le prénom dans le fichier "employé" et enregistrer également en PDF.
Je ne sais pas si il faut faire 2 code différentes ?
Encore mes excuse Yvouille, et encore merci de votre temps.
Salut,
Je pense que tu fais tout faux lorsque tu demandes de l’aide sur le Forum ; tu imagines des solutions à tes problèmes et tu demandes qu’on réalise tes idées.
Selon moi, il vaudrait mieux indiquer tes souhaits sur la base de ton fichier réel – on a toujours un peu l’impression de travailler dans le vide, lorsque l’on doit travailler sur des fichiers modèles mal foutus – et laisser la personne qui veut bien t’aider te proposer SA solution.
Pour ta demande actuelle, ta nouvelle idée de passer par un deuxième fichier Excel afin de créer des fichiers PDF me parait parfaitement farfelue puisque l’on peut créer des fichiers PDF directement sur la base de feuilles Excel, sans étape intermédiaire.
Je t’informe donc que j’abandonne ici ton problème et ne peux que te conseiller de suivre mes conseils ci-dessus afin d’ouvrir un nouveau fil pour demander de l’aide à quelqu’un d’autre.
Dans l’espoir que tu comprennes ma décision.
Bien à toi.
Bonsoir Yvouille, merci tout de même. Je ne veux pas que vous fassiez le travail pour moi. Je cherche des codes. Et si je demande de l'aide ici ce n'est pas pour que trouvez la solution pour moi sinon je resterai au même stade. Pour l'enregistrement PDF j'ai trouver le code avec des mise en forme etc...j'ai juste besoin d'un code qui permet de prendre la valeur d'une cellule sous condition. Mais je comprend votre position. Tant pis pour moi. Encore merci pour votre aide et votre temps.