VBA Recherche Valeur Identique
Résolu
Simon404
Messages postés
16
Statut
Membre
-
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
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
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Valeur ascii - Guide
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? ✓ - Forum Excel
- Pour ce faire la taille des cellules fusionnées doit être identique ✓ - Forum Excel
- Tri et problème de cellules fusionnées - Forum Excel
9 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
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.
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
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, ?
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
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)
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
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
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
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