CONDITION comparé deux celulle
Fermé
Noha-Diak
Messages postés
20
Date d'inscription
samedi 8 septembre 2018
Statut
Membre
Dernière intervention
26 février 2019
-
10 sept. 2018 à 15:45
yg_be Messages postés 23304 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 1 novembre 2024 - 11 sept. 2018 à 17:28
yg_be Messages postés 23304 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 1 novembre 2024 - 11 sept. 2018 à 17:28
A voir également:
- CONDITION comparé deux celulle
- Excel cellule couleur si condition texte - Guide
- Deux ecran pc - Guide
- Deux comptes whatsapp - Guide
- Itinéraire google map entre deux adresses - Guide
- Beyond compare gratuit - Télécharger - Gestion de fichiers
2 réponses
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
10 sept. 2018 à 15:58
10 sept. 2018 à 15:58
Bonjour Noha- Diak, bonjour le forum,
Incompréhensible !... Tu parle de deux cellules, le code lui en montre 3. Tu ne nous donnes qu'un bout de code et nous ne savons rien des variables colcpt1, colcpt2 et colcpt3 ni de NblF1... Je vois mal comment on pourrait t'aider !... Nous ne somme pas des devins. Si tu fais pas un effort nous n'en ferons pas non plus...
Incompréhensible !... Tu parle de deux cellules, le code lui en montre 3. Tu ne nous donnes qu'un bout de code et nous ne savons rien des variables colcpt1, colcpt2 et colcpt3 ni de NblF1... Je vois mal comment on pourrait t'aider !... Nous ne somme pas des devins. Si tu fais pas un effort nous n'en ferons pas non plus...
yg_be
Messages postés
23304
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 novembre 2024
Ambassadeur
1 549
10 sept. 2018 à 16:07
10 sept. 2018 à 16:07
bonjour, suggestions:
- ajouter "option explicit" en début de module.
- modifier provisoirement ton code, pour comprendre ce qu'il fait:
- ajouter "option explicit" en début de module.
- modifier provisoirement ton code, pour comprendre ce qu'il fait:
If (CritereF1 = CritereF2) Then MsgBox "Les deux critère sont égaux" else MsgBox "Les deux critères sont différents: " & CritereF1 & ", " & CritereF2 End If
Noha-Diak
Messages postés
20
Date d'inscription
samedi 8 septembre 2018
Statut
Membre
Dernière intervention
26 février 2019
10 sept. 2018 à 16:21
10 sept. 2018 à 16:21
Bonjour, je vient de faire le test du code :
If (CritereF1 = CritereF2) Then
MsgBox "Les deux critère sont égaux"
else
MsgBox "Les deux critères sont différents: " & CritereF1 & ", " & CritereF2
End If
Le résultat qu'il m'affiche est que les deux critère sont égaux
If (CritereF1 = CritereF2) Then
MsgBox "Les deux critère sont égaux"
else
MsgBox "Les deux critères sont différents: " & CritereF1 & ", " & CritereF2
End If
Le résultat qu'il m'affiche est que les deux critère sont égaux
yg_be
Messages postés
23304
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 novembre 2024
1 549
>
Noha-Diak
Messages postés
20
Date d'inscription
samedi 8 septembre 2018
Statut
Membre
Dernière intervention
26 février 2019
10 sept. 2018 à 16:24
10 sept. 2018 à 16:24
as-tu testé ce code isolément, ou bien as-tu adapté ton code principal? je suggérais d'ajouter le else dans ton if existant...
Noha-Diak
Messages postés
20
Date d'inscription
samedi 8 septembre 2018
Statut
Membre
Dernière intervention
26 février 2019
10 sept. 2018 à 16:31
10 sept. 2018 à 16:31
j'ai tester avec la méthode "set" puis comparé sauf que cela m'affichait toujours la même réponse dans ma condition peut importe quelle soit vrais ou fausse ^^
yg_be
Messages postés
23304
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 novembre 2024
1 549
>
Noha-Diak
Messages postés
20
Date d'inscription
samedi 8 septembre 2018
Statut
Membre
Dernière intervention
26 février 2019
10 sept. 2018 à 17:29
10 sept. 2018 à 17:29
peux-tu partager ton code complet, du début à la fin? modifié tel que suggéré en #2.
Noha-Diak
Messages postés
20
Date d'inscription
samedi 8 septembre 2018
Statut
Membre
Dernière intervention
26 février 2019
11 sept. 2018 à 11:30
11 sept. 2018 à 11:30
sa fonctionner pour le moment , le but est si le fichier ouvert est un des nom de fichier référencer compare le première feuille a la second si il y a une erreur colorier le fond de la cellule en une autre couleur.
Si pour vous sa semble correct et logique , votre opinion et expérience m’intéresse j'ai contourné le problème avec une boucle qui me semble plus simple d'utilisation
J'ai trouvé une autre méthode, je vous partage le code :
Dim NomF1
Dim NomF2
Dim NbLig As Integer
Dim i As Integer
Dim colA, colB, colF
NomF1 = Sheets(1).Name
NomF2 = Sheets(2).Name
If (NomF1) = "Nomfichier" Then
MsgBox "le fichier est 'Nomfichier' "
colA = 1 ' colonne A utiliser pour ce fichier
colB = 2 ' colonne B utiliser pour ce fichier
colF = 6 ' Colonne F utiliser pour ce fichier
i = 2 ' on initialise le compteur a 2 qui correspond a la première ligne que l'on verifie
NbLig = Cells.SpecialCells(xlCellTypeLastCell).Row ' compte le nombre de ligne du fichier
While (i <= NbLig)
CritereF1 = Sheets(NomF1).Cells(i, colA)
CritereF2 = Sheets(NomF2).Cells(i, colA)
CritereF3 = Sheets(NomF1).Cells(i, colB)
CritereF4 = Sheets(NomF2).Cells(i, colB)
CritereF5 = Sheets(NomF1).Cells(i, colF)
CritereF6 = Sheets(NomF2).Cells(i, colF)
If ((CritereF1) = (CritereF2)) Then ' ligne trouvé
'MsgBox "les critere des colonnes A correspond"
Else
'MsgBox "les critere des colonnes A Ne correspond pas ont colorie"
MaChaine1 = CStr(i)
Range("A" & i).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
If ((CritereF3) = (CritereF4)) Then
'MsgBox "les critere des colonne B correspond"
Else
'MsgBox "les critere des colonnes B Ne correspond pas ont colorie"
MaChaine1 = CStr(i)
Range("B" & i).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
If ((CritereF5) = (CritereF6)) Then
'MsgBox "les critere des colonne F correspond"
Else
'MsgBox "les critere des colonnes F Ne correspond pas ont colorie"
MaChaine1 = CStr(i)
Range("F" & i).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
i = i + 1
Wend
i = i - 1
MsgBox ("Il y a " & i & " Ligne dans le fichier Nom fichier")
Si pour vous sa semble correct et logique , votre opinion et expérience m’intéresse j'ai contourné le problème avec une boucle qui me semble plus simple d'utilisation
J'ai trouvé une autre méthode, je vous partage le code :
Dim NomF1
Dim NomF2
Dim NbLig As Integer
Dim i As Integer
Dim colA, colB, colF
NomF1 = Sheets(1).Name
NomF2 = Sheets(2).Name
If (NomF1) = "Nomfichier" Then
MsgBox "le fichier est 'Nomfichier' "
colA = 1 ' colonne A utiliser pour ce fichier
colB = 2 ' colonne B utiliser pour ce fichier
colF = 6 ' Colonne F utiliser pour ce fichier
i = 2 ' on initialise le compteur a 2 qui correspond a la première ligne que l'on verifie
NbLig = Cells.SpecialCells(xlCellTypeLastCell).Row ' compte le nombre de ligne du fichier
While (i <= NbLig)
CritereF1 = Sheets(NomF1).Cells(i, colA)
CritereF2 = Sheets(NomF2).Cells(i, colA)
CritereF3 = Sheets(NomF1).Cells(i, colB)
CritereF4 = Sheets(NomF2).Cells(i, colB)
CritereF5 = Sheets(NomF1).Cells(i, colF)
CritereF6 = Sheets(NomF2).Cells(i, colF)
If ((CritereF1) = (CritereF2)) Then ' ligne trouvé
'MsgBox "les critere des colonnes A correspond"
Else
'MsgBox "les critere des colonnes A Ne correspond pas ont colorie"
MaChaine1 = CStr(i)
Range("A" & i).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
If ((CritereF3) = (CritereF4)) Then
'MsgBox "les critere des colonne B correspond"
Else
'MsgBox "les critere des colonnes B Ne correspond pas ont colorie"
MaChaine1 = CStr(i)
Range("B" & i).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
If ((CritereF5) = (CritereF6)) Then
'MsgBox "les critere des colonne F correspond"
Else
'MsgBox "les critere des colonnes F Ne correspond pas ont colorie"
MaChaine1 = CStr(i)
Range("F" & i).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
i = i + 1
Wend
i = i - 1
MsgBox ("Il y a " & i & " Ligne dans le fichier Nom fichier")
10 sept. 2018 à 16:12
Dim NomF2
Dim NbCol As Integer
Dim NbLig As Integer
Dim i, j, NblF1, NblF2 As Integer
NomF1 = Sheets(1).Name
NomF2 = Sheets(2).Name
If (NomF1) = "REF_VALEUR_FAMILLE" Then
MsgBox "le fichier est bien "
colcpt1 = 1
colcpt2 = 2
colcpt3 = 6
For i = 2 To NblF1 ' i est égale a 2 pour NblF1
CritereF1 = Sheets(NomF1).Cells(i, colcpt1) & Sheets(NomF1).Cells(i, colcpt2) & Sheets(NomF1).Cells(i, colcpt3)
For j = 2 To NblF2 ' j est égale a 2 pour NblF2
CritereF2 = Sheets(NomF2).Cells(j, colcpt1) & Sheets(NomF2).Cells(j, colcopt2) & Sheets(NomF2).Cells(i, colcpt3)
If (CritereF1 = CritereF2) Then
MsgBox "Le critère correspond"
' colorie la cellule en rouge
End If
Voici le code au complét, c'est mon premier message sur un forum, je m'excuse pour le manque d'information :(
10 sept. 2018 à 16:20
10 sept. 2018 à 16:18
je compteur commence a 2 parce que la première donné se trouve a la deuxième ligne
10 sept. 2018 à 16:21
10 sept. 2018 à 16:28