VBA Recherche Valeur Identique
Résolu/Fermé
Simon404
Messages postés
12
Date d'inscription
jeudi 3 février 2022
Statut
Membre
Dernière intervention
14 septembre 2023
-
3 févr. 2022 à 17:24
yg_be Messages postés 23477 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 1 mars 2025 - 10 févr. 2022 à 17:53
yg_be Messages postés 23477 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 1 mars 2025 - 10 févr. 2022 à 17:53
bonjour à tous,
Je dois automatiser un fichier excel mais j'ai beaucoup de mal
Dans ce fichier excel, j'ai deux feuilles.
Ma feuille N°1 est celle qui va me servir de base
Je veux comparer pour toutes les lignes de la feuille 1 la colonne 3 et la colonne 5 avec les valeurs qui se trouvent dans ma feuille 2 (colonne 3 et 5 aussi)
Si les valeurs de ma feuille 1, ligne 2 colonne 3 et 5 sont identiques aux valeurs d'une des lignes de ma feuille 2 (colonne 3 et 5 toujours) alors je veux copier la valeur qui se trouve dans le colonne 6 de ma feuille 2 dans la colonne 6 ligne 2 de ma feuille 1 et ainsi de suite
j'ai testé plein de choses et je n'y arrive pas
merci pour votre aide
Simon
Je dois automatiser un fichier excel mais j'ai beaucoup de mal
Dans ce fichier excel, j'ai deux feuilles.
Ma feuille N°1 est celle qui va me servir de base
Je veux comparer pour toutes les lignes de la feuille 1 la colonne 3 et la colonne 5 avec les valeurs qui se trouvent dans ma feuille 2 (colonne 3 et 5 aussi)
Si les valeurs de ma feuille 1, ligne 2 colonne 3 et 5 sont identiques aux valeurs d'une des lignes de ma feuille 2 (colonne 3 et 5 toujours) alors je veux copier la valeur qui se trouve dans le colonne 6 de ma feuille 2 dans la colonne 6 ligne 2 de ma feuille 1 et ainsi de suite
j'ai testé plein de choses et je n'y arrive pas
merci pour votre aide
Simon
A voir également:
- A valeur identique
- Site identique a coco - Accueil - Réseaux sociaux
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Valeur ascii - Guide
- #Valeur excel somme - Guide
- Attribuer une valeur à une cellule texte excel ✓ - Forum Excel
9 réponses
yg_be
Messages postés
23477
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 mars 2025
Ambassadeur
1 568
3 févr. 2022 à 20:38
3 févr. 2022 à 20:38
bonjour,
montre-nous ce que tu as essayé, et explique-nous le résultat obtenu.
montre-nous ce que tu as essayé, et explique-nous le résultat obtenu.
Simon404
Messages postés
12
Date d'inscription
jeudi 3 février 2022
Statut
Membre
Dernière intervention
14 septembre 2023
Modifié le 7 févr. 2022 à 15:20
Modifié le 7 févr. 2022 à 15:20
Bonjour,
Merci pour ta réponse
je te dépose mon code ci dessous
j'ai voulu faire un premier check en me disant que si les cellules de la feuilles 2 correspondaient a mes cellules de ma feuilles 1 alors je mettais "OK" et je pourrai attribuer le commentaire correspondants
Mais en fait, je me suis trompé
Ma formule permet de comparer uniquement si mes valeurs sont identiques mais ne peut pas reprendre le commentaire associé.
Je ne sais pas comment faire avec un "IF" pour comparer les 4 valeurs des deux feuilles et mettre le commentaire associé dans la feuille 1.
Je suis un peu perdu
Je dois faire ce travail pour 500-600 valeurs
Merci à toi
Merci pour ta réponse
je te dépose mon code ci dessous
j'ai voulu faire un premier check en me disant que si les cellules de la feuilles 2 correspondaient a mes cellules de ma feuilles 1 alors je mettais "OK" et je pourrai attribuer le commentaire correspondants
Mais en fait, je me suis trompé
Ma formule permet de comparer uniquement si mes valeurs sont identiques mais ne peut pas reprendre le commentaire associé.
Je ne sais pas comment faire avec un "IF" pour comparer les 4 valeurs des deux feuilles et mettre le commentaire associé dans la feuille 1.
Je suis un peu perdu
Je dois faire ce travail pour 500-600 valeurs
Merci à toi
Sub comparaisonFeuillesColonnes() Dim compteurLigneFeuilleFichierJour Dim compteurLigneFeuilleAnalyseMO Dim NomFeuille Dim NomFeuille2 Dim contenuCaseFeuille1 Dim contenuCaseFeuille2 NomFeuille = "ANALYSE" NomFeuille2 = "ANALYSES TERMINEES" colonneAnalyseFeuille1 = 3 colonneAnalyseFeuille2 = 3 colonneFC = 10 ColonneResultat = 7 compteurLigneFeuilleFichierJour = 2 Do Sheets(NomFeuille).Select contenuCaseFeuille1 = Trim(Cells(compteurLigneFeuilleFichierJour, colonneAnalyseFeuille1).FormulaR1C1) trouve = 0 Sheets(NomFeuille2).Select compteurLigneFeuilleAnalyseMO = 2 Do contenuCaseFeuille2 = Trim(Cells(compteurLigneFeuilleAnalyseMO, colonneAnalyseFeuille2).FormulaR1C1) If LCase(contenuCaseFeuille1) = LCase(contenuCaseFeuille2) Then trouve = 1 Exit Do End If compteurLigneFeuilleAnalyseMO = compteurLigneFeuilleAnalyseMO + 1 DoEvents Loop While Len(contenuCaseFeuille2) > 0 If Len(contenuCaseFeuille1) > 0 Then If trouve = 1 Then Sheets(NomFeuille).Select Cells(compteurLigneFeuilleFichierJour, ColonneResultat).FormulaR1C1 = "OK" Else Sheets(NomFeuille).Select Cells(compteurLigneFeuilleFichierJour, ColonneResultat).FormulaR1C1 = "N/A" End If End If compteurLigneFeuilleFichierJour = compteurLigneFeuilleFichierJour + 1 DoEvents Loop While Len(contenuCaseFeuille1) > 0 colonneAnalyseFeuille1 = 5 colonneAnalyseFeuille2 = 5 ColonneResultat = 8 compteurLigneFeuilleFichierJour = 2 Do Sheets(NomFeuille).Select contenuCaseFeuille1 = Trim(Cells(compteurLigneFeuilleFichierJour, colonneAnalyseFeuille1).FormulaR1C1) trouve = 0 Sheets(NomFeuille2).Select compteurLigneFeuilleAnalyseMO = 2 Do contenuCaseFeuille2 = Trim(Cells(compteurLigneFeuilleAnalyseMO, colonneAnalyseFeuille2).FormulaR1C1) If LCase(contenuCaseFeuille1) = LCase(contenuCaseFeuille2) Then trouve = 1 Exit Do End If compteurLigneFeuilleAnalyseMO = compteurLigneFeuilleAnalyseMO + 1 DoEvents Loop While Len(contenuCaseFeuille2) > 0 If Len(contenuCaseFeuille1) > 0 Then If trouve = 1 Then Sheets(NomFeuille).Select Cells(compteurLigneFeuilleFichierJour, ColonneResultat).FormulaR1C1 = "OK" Else Sheets(NomFeuille).Select Cells(compteurLigneFeuilleFichierJour, ColonneResultat).FormulaR1C1 = "N/A" End If End If compteurLigneFeuilleFichierJour = compteurLigneFeuilleFichierJour + 1 DoEvents Loop While Len(contenuCaseFeuille1) > 0 End Sub
yg_be
Messages postés
23477
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 mars 2025
1 568
4 févr. 2022 à 12:58
4 févr. 2022 à 12:58
Quand tu partages du code, merci d'utiliser les balises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Si je comprends bien, tout fonctionne bien, à part quelque-chose autour des commentaires.
Tu n'as pas expliqué ce que tu voulais faire avec les commentaires: les utiliser dans la comparaison, les recopier, ?
Si je comprends bien, tout fonctionne bien, à part quelque-chose autour des commentaires.
Tu n'as pas expliqué ce que tu voulais faire avec les commentaires: les utiliser dans la comparaison, les recopier, ?
Simon404
Messages postés
12
Date d'inscription
jeudi 3 février 2022
Statut
Membre
Dernière intervention
14 septembre 2023
>
yg_be
Messages postés
23477
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 mars 2025
4 févr. 2022 à 14:18
4 févr. 2022 à 14:18
oui je veux que les commentaires de ma feuille 2 se recopient sur ma feuille 1 en face des valeurs associées
par exemple si la celulle 3 et 5 de ma feuille 2 sont identique a la cellule 2 et 5 de ma feuille 1 sur une des lignes alors je souhaite recopier le commentaire associé de la feuille 2 sur la 1
par exemple si la celulle 3 et 5 de ma feuille 2 sont identique a la cellule 2 et 5 de ma feuille 1 sur une des lignes alors je souhaite recopier le commentaire associé de la feuille 2 sur la 1
yg_be
Messages postés
23477
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 mars 2025
1 568
>
Simon404
Messages postés
12
Date d'inscription
jeudi 3 février 2022
Statut
Membre
Dernière intervention
14 septembre 2023
4 févr. 2022 à 15:05
4 févr. 2022 à 15:05
quand tu écris "commentaire", il s'agit bien de "commentaire" que Excel permet d'associer à une cellule?
où s'agit-il simplement du contenu d'une cellule, que tu considères être un commentaire?
si tu veux simplement copier le contenu d'une cellule, peut-être:
où s'agit-il simplement du contenu d'une cellule, que tu considères être un commentaire?
si tu veux simplement copier le contenu d'une cellule, peut-être:
Sheets(NomFeuille).Cells(compteurLigneFeuilleFichierJour, 6) = _ Sheets(NomFeuille2).Cells(compteurLigneFeuilleAnalyseMO, 6)
yg_be
Messages postés
23477
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 mars 2025
1 568
>
yg_be
Messages postés
23477
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 mars 2025
4 févr. 2022 à 15:09
4 févr. 2022 à 15:09
tu peux simplifier:
Il est recommandé d'éviter les
dim f1 as worksheet, f2 as worksheet set f1 = Sheets(NomFeuille) set f2 = Sheets(NomFeuille2) ' ... f1.Cells(compteurLigneFeuilleFichierJour, 6) = f2.Cells(compteurLigneFeuilleAnalyseMO, 6)
Il est recommandé d'éviter les
Select.
Simon404
Messages postés
12
Date d'inscription
jeudi 3 février 2022
Statut
Membre
Dernière intervention
14 septembre 2023
>
yg_be
Messages postés
23477
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 mars 2025
4 févr. 2022 à 15:13
4 févr. 2022 à 15:13
autant pour moi, je considère que le commentaire est le contenu d'une cellule de ma feuille 2 qui correspond a mon commentaire personnel après analyse de mes cellules 3 et 5
et si les cellules 3 et 5 de la
et si les cellules 3 et 5 de la
Simon404
Messages postés
12
Date d'inscription
jeudi 3 février 2022
Statut
Membre
Dernière intervention
14 septembre 2023
7 févr. 2022 à 17:11
7 févr. 2022 à 17:11
Hello,
Je pensais avoir répondu mais ma réponse n’apparaît pas
oui, je me suis mal exprimé dsl. Il s'agit de commentaires personnels que j'ai écrit manuellement dans ma feuille 2.
L'idée c'est que :
Si la colonne 2 et 5 de ma feuille 1 (ligne 2 et ainsi de suite)sont identiques à la colonne 2 et 5 feuille 2 (ligne 2 et ainsi desuite) alors le commentaire que j'ai écrit dans ma colonne 6 feuille 2 sur chaque ligne, je souhaite qu'il se recopie automatiquement dans ma feuille 1 en colonne 6 pour chaque valeur correspondante.
merci et dsl encore du retard
Je pensais avoir répondu mais ma réponse n’apparaît pas
oui, je me suis mal exprimé dsl. Il s'agit de commentaires personnels que j'ai écrit manuellement dans ma feuille 2.
L'idée c'est que :
Si la colonne 2 et 5 de ma feuille 1 (ligne 2 et ainsi de suite)sont identiques à la colonne 2 et 5 feuille 2 (ligne 2 et ainsi desuite) alors le commentaire que j'ai écrit dans ma colonne 6 feuille 2 sur chaque ligne, je souhaite qu'il se recopie automatiquement dans ma feuille 1 en colonne 6 pour chaque valeur correspondante.
merci et dsl encore du retard
yg_be
Messages postés
23477
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 mars 2025
1 568
7 févr. 2022 à 22:15
7 févr. 2022 à 22:15
as-tu alors testé ma suggestion?
Simon404
Messages postés
12
Date d'inscription
jeudi 3 février 2022
Statut
Membre
Dernière intervention
14 septembre 2023
8 févr. 2022 à 10:34
8 févr. 2022 à 10:34
oui mais je n'ai pas l'impression que cela fonctionne, rien ne se passe.
les commentaires que j'ai mis ne se copient pas automatiquement quand les valeurs de mes deux feuilles sont égales.
je n'ai plus tellement d'idée de mon côté je suis assez débutant sur VBA
merci de ton aide
les commentaires que j'ai mis ne se copient pas automatiquement quand les valeurs de mes deux feuilles sont égales.
je n'ai plus tellement d'idée de mon côté je suis assez débutant sur VBA
merci de ton aide
yg_be
Messages postés
23477
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 mars 2025
1 568
8 févr. 2022 à 11:27
8 févr. 2022 à 11:27
Il existe de nombreuses techniques de vérifier le comportement d'un code.
Par exemple: https://www.commentcamarche.net/contents/1381-debogage
Cela devrait t'aider à déterminer à quel endroit le code est déficient.
Par exemple: https://www.commentcamarche.net/contents/1381-debogage
Cela devrait t'aider à déterminer à quel endroit le code est déficient.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Simon404
Messages postés
12
Date d'inscription
jeudi 3 février 2022
Statut
Membre
Dernière intervention
14 septembre 2023
8 févr. 2022 à 14:43
8 févr. 2022 à 14:43
Merci pour la réponse
Quand je colle ton code dans le mien je n'ai pas d'erreur.
En revanche, rien ne s'affiche sur ma feuille de calcul excel. J'ai uniquement "OK" et "N/A" qui apparaît.
Quel code je dois écrire afin que si mes cellules sont égales, le commentaire de la cellule 6 feuille 2 apparaisse en feuille 1 .
Je n'arrive pas à trouver et le fait de vérifier 4 valeurs simultanément, j'ai beaucoup de mal
Quand je colle ton code dans le mien je n'ai pas d'erreur.
En revanche, rien ne s'affiche sur ma feuille de calcul excel. J'ai uniquement "OK" et "N/A" qui apparaît.
Quel code je dois écrire afin que si mes cellules sont égales, le commentaire de la cellule 6 feuille 2 apparaisse en feuille 1 .
Je n'arrive pas à trouver et le fait de vérifier 4 valeurs simultanément, j'ai beaucoup de mal
yg_be
Messages postés
23477
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 mars 2025
Ambassadeur
1 568
8 févr. 2022 à 15:57
8 févr. 2022 à 15:57
peut-être:
Sub comparaisonFeuillesColonnes() Dim compteurLigneFeuilleFichierJour Dim compteurLigneFeuilleAnalyseMO Dim cc2, cc3, cc4, cc5 Dim f1 As Worksheet, f2 As Worksheet Set f1 = Sheets("ANALYSE") Set f2 = Sheets("ANALYSES TERMINEES") compteurLigneFeuilleFichierJour = 2 Do cc2 = LCase(Trim(f1.Cells(compteurLigneFeuilleFichierJour, 2))) cc3 = LCase(Trim(f1.Cells(compteurLigneFeuilleFichierJour, 3))) cc4 = LCase(Trim(f1.Cells(compteurLigneFeuilleFichierJour, 4))) cc5 = LCase(Trim(f1.Cells(compteurLigneFeuilleFichierJour, 5))) compteurLigneFeuilleAnalyseMO = 2 Do If cc2 = LCase(Trim(f2.Cells(compteurLigneFeuilleAnalyseMO, 2))) _ And cc3 = LCase(Trim(f2.Cells(compteurLigneFeuilleAnalyseMO, 3))) _ And cc4 = LCase(Trim(f2.Cells(compteurLigneFeuilleAnalyseMO, 4))) _ And cc5 = LCase(Trim(f2.Cells(compteurLigneFeuilleAnalyseMO, 5))) _ Then f1.Cells(compteurLigneFeuilleFichierJour, 6) = f2.Cells(compteurLigneFeuilleAnalyseMO, 6) End If compteurLigneFeuilleAnalyseMO = compteurLigneFeuilleAnalyseMO + 1 Loop While Len(f2.Cells(compteurLigneFeuilleAnalyseMO, 2)) > 0 compteurLigneFeuilleFichierJour = compteurLigneFeuilleFichierJour + 1 DoEvents Loop While Len(Trim(cc2)) > 0 End Sub
Simon404
Messages postés
12
Date d'inscription
jeudi 3 février 2022
Statut
Membre
Dernière intervention
14 septembre 2023
8 févr. 2022 à 17:02
8 févr. 2022 à 17:02
Cela fonctionne
Merci bcp de ton aide !!
Merci bcp de ton aide !!
Simon404
Messages postés
12
Date d'inscription
jeudi 3 février 2022
Statut
Membre
Dernière intervention
14 septembre 2023
10 févr. 2022 à 16:27
10 févr. 2022 à 16:27
hello,
j'ai testé le code pour de nombreuses valeurs et il ne fonctionne pas totalement.
j'ai des valeurs qui sont identiques en feuilles 2 et 1 et pourtant le commentaire écrit ne se colle pas automatiquement.
sais-tu pourquoi ?
merci de ton aide
j'ai testé le code pour de nombreuses valeurs et il ne fonctionne pas totalement.
j'ai des valeurs qui sont identiques en feuilles 2 et 1 et pourtant le commentaire écrit ne se colle pas automatiquement.
sais-tu pourquoi ?
merci de ton aide
yg_be
Messages postés
23477
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 mars 2025
1 568
10 févr. 2022 à 17:53
10 févr. 2022 à 17:53
peux-tu partager un fichier montrant le soucis?
Simon404
Messages postés
12
Date d'inscription
jeudi 3 février 2022
Statut
Membre
Dernière intervention
14 septembre 2023
10 févr. 2022 à 16:30
10 févr. 2022 à 16:30
les commentaires ne se reprennent uniquement si les cellules 2 et 5 de la feuille 2 sont situées sur la même ligne en feuille 1. Je souhaiterais que le commentaire se reprenne quelque soit la ligne dans laquelle les valeurs se trouvent dans la feuille 1.
puis-je avoir ton aide stp sur cela ,?
merci à toi
puis-je avoir ton aide stp sur cela ,?
merci à toi