Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

comparer la valeur d'une cellule d'un classeur à une plage d'un autre classeur VBA ex

  • Initiateur de la discussion Initiateur de la discussion hking
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

H

hking

Guest
Bonjour à tous
J'ai deux classeurs ayant pour nom respectivement "inman" et "Rapport in".
Jai besoin de comparer la valeur de la cellule A1 du classeur "inmac" à la plage ("A2:AF2") du classeur "Rapport in" en VBA; si la valeur de A1 correspond à une valeur de la plage ("A2:AF2") alors qu'il affiche un message "ok".
Merci d'avance à tous et je conte sur votre réactivité.
Cdlt🙂!!!!!!!!!!!!
 
Re : comparer la valeur d'une cellule d'un classeur à une plage d'un autre classeur V



Bonjour,

un code est vraiment nécessaire ? Car une simple formule de calculs peut s'en acquitter …

 
Re : comparer la valeur d'une cellule d'un classeur à une plage d'un autre classeur V

Bonjour hking, bienvenue sur XLD, salut Marc L,

Car une simple formule de calculs peut s'en acquitter …

Oui, et on a le choix entre SOMMEPROD et EQUIV.

Ouvrez les 2 classeurs et entrez dans la même feuille que la cellule A1 :

Code:
=REPT("OK";SIGNE(SOMMEPROD(N('[Rapport in.xlsx]Feuil1'!$A$2:$AF$2=A1))))
ou encore :

Code:
=REPT("OK";ESTNUM(EQUIV(A1;'[Rapport in.xlsx]Feuil1'!$A$2:$AF$2;0)))
On peut fermer Rapport in.xlsx : ces formules fonctionnent toujours.

A+
 
Re : comparer la valeur d'une cellule d'un classeur à une plage d'un autre classeur V

Re,

En VBA on pourra pour tester utiliser l'une de ces deux macros :

Code:
Sub Test1()
Dim f As String, e As Byte
f = ActiveSheet.Name
e = ExecuteExcel4Macro("SUMPRODUCT(N('" & f & "'!R1C1='" & _
  ThisWorkbook.Path & "\[Rapport in.xlsx]Feuil1'!R2C1:R2C32))")
If e Then MsgBox "OK"
End Sub


Sub Test2()
Dim f As String, e As Boolean
f = ActiveSheet.Name
e = ExecuteExcel4Macro("ISNUMBER(MATCH('" & f & "'!R1C1,'" & _
  ThisWorkbook.Path & "\[Rapport in.xlsx]Feuil1'!R2C1:R2C32,0))")
If e Then MsgBox "OK"
End Sub
Elles fonctionnent avec Rapport in.xlsx ouvert ou fermé.

Mais les 2 fichiers doivent être dans le même dossier (répertoire).

Bonne fin de soirée.
 
Re : comparer la valeur d'une cellule d'un classeur à une plage d'un autre classeur V

Bonjour hking, le forum,

On peut mettre les macros dans un 3ème fichier "Fichier de test" :

Code:
Sub Test1()
Dim chemin1$, fichier1$, feuille1$, adresse1$
Dim chemin2, fichier2$, feuille2$, adresse2$, cellule$, e As Byte
chemin1 = ThisWorkbook.Path 'à adapter
fichier1 = "inmac.xlsx"
feuille1 = "Ma feuille"
adresse1 = "R1C1"
chemin2 = ThisWorkbook.Path 'à adapter
fichier2 = "Rapport in.xlsx"
feuille2 = "Feuil1"
adresse2 = "R2C1:R2C32"
cellule = "'" & chemin1 & "\[" & fichier1 & "]" & feuille1 & "'!" & adresse1
e = ExecuteExcel4Macro("SUMPRODUCT(N(" & cellule & "='" & _
  chemin2 & "\[" & fichier2 & "]" & feuille2 & "'!" & adresse2 & "))")
MsgBox "'" & ExecuteExcel4Macro(cellule) & IIf(e, "' présent", "' absent")
End Sub


Sub Test2()
Dim chemin1$, fichier1$, feuille1$, adresse1$
Dim chemin2, fichier2$, feuille2$, adresse2$, cellule$, e As Boolean
chemin1 = ThisWorkbook.Path 'à adapter
fichier1 = "inmac.xlsx"
feuille1 = "Ma feuille"
adresse1 = "R1C1"
chemin2 = ThisWorkbook.Path 'à adapter
fichier2 = "Rapport in.xlsx"
feuille2 = "Feuil1"
adresse2 = "R2C1:R2C32"
cellule = "'" & chemin1 & "\[" & fichier1 & "]" & feuille1 & "'!" & adresse1
e = ExecuteExcel4Macro("ISNUMBER(MATCH(" & cellule & ",'" & _
  chemin2 & "\[" & fichier2 & "]" & feuille2 & "'!" & adresse2 & ",0))")
MsgBox "'" & ExecuteExcel4Macro(cellule) & IIf(e, "' présent", "' absent")
End Sub
Pour tester mettez les 3 fichiers joints dans le même dossier (le bureau).

A+
 

Pièces jointes

Re : comparer la valeur d'une cellule d'un classeur à une plage d'un autre classeur V

Bonjour tout le monde
Merci beaucoup pour les messages car ils m'ont été d'une très grande aide.
Thanks again🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…