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

Comparaison de cellules et affichage de "Vrai ou Faux"

  • Initiateur de la discussion Initiateur de la discussion lemarcheurfou
  • 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 !

L

lemarcheurfou

Guest
Bonjour à tous,

Je voudrais faire une comparaison de deux plages de cellules mais je ne trouve pas la solution c'est un peu complexe pour moi...

Voilà mon code et je joins aussi mon fichier pour que vous voyez ce que je veux faire.

Code:
Sub Comparaison()

 Dim Arr1, Arr2, Flag
 Arr1 = Range("A2:D2")
 Arr2 = Range("F2:I2")
 Flag = True
 For i = LBound(Arr1, 2) To UBound(Arr1, 2)
 For j = LBound(Arr1, 1) To UBound(Arr1, 1)
 If Not Arr1(j, i) = Arr2(j, i) Then
 Flag = False: Exit For
 End If
 Next j
 If Not Flag Then Exit For
 Next i
 
  Set Range("" & Flag)

End Sub

Je vous remercie d'avance pour votre aide.
 

Pièces jointes

Re : Comparaison de cellules et affichage de "Vrai ou Faux"

Bonjour,

En une seule boucle:
Code:
    Dim i As Integer
    With Range("A2:D2")
        For i = 1 To .Count
            Range("K2:N2").Cells(i) = .Cells(i) = Range("F2:I2").Cells(i)
        Next i
    End With

A+
 
Re : Comparaison de cellules et affichage de "Vrai ou Faux"

Re,

Hello Chris, On se le demande hein?....🙂 arf
Ou alors en k2 à tirer vers la droite et le bas: =A2=F2

A+
 
Re : Comparaison de cellules et affichage de "Vrai ou Faux"

Bonjour,

En une seule boucle:
Code:
    Dim i As Integer
    With Range("A2:D2")
        For i = 1 To .Count
            Range("K2:N2").Cells(i) = .Cells(i) = Range("F2:I2").Cells(i)
        Next i
    End With

A+

Merci pour vos réponses très rapide.

Hasco ton code marche parfaitement mais juste pour la première ligne. Faudrai que j'ajoute une boucle pour les autres lignes de mon tableau c'est bien ça?
 
Re : Comparaison de cellules et affichage de "Vrai ou Faux"

Re

Pas besoin de deuxième boucle, tes plages allant de la ligne 2 à 3:

Code:
 Dim i As Integer
    With Range("A2:D3")
        For i = 1 To .Count
            Range("K2:N3").Cells(i) = .Cells(i) = Range("F2:I3").Cells(i)
        Next i
    End With

J'avais pas corrigé dans le précédent post. Quant on ne met pas d'index de colonne dans un objet range Excel identifie le premier index comme un n° d'ordre. Exemple soit une plage de 4 Cellules (A2:B3) la cellule 1 est A2 la cellule 2 est B2 la cellule 3 est A3 la cellule 4 est B3

A+
 
Re : Comparaison de cellules et affichage de "Vrai ou Faux"


Ah oui merci j'ai pas remarqué mais si j'ai un nombre de ligne qui n'est pas devinable je dois compté toute les lignes avec Range("A65536").End(xlUp).Row?
 
Re : Comparaison de cellules et affichage de "Vrai ou Faux"

Voilà la solution:

Code:
Sub Comparaison()

 Dim i As Integer
 Dim nbColonne As Integer

  nbColonne = Range("A2").End(xlDown).Row

    With Range("C2:D" & nbColonne)
        For i = 1 To .Count
            Range("I2:J" & nbColonne).Cells(i) = .Cells(i) = Range("F2:G" & nbColonne).Cells(i)
        Next i
    End With

End Sub
 
Re : Comparaison de cellules et affichage de "Vrai ou Faux"

Oui je vais testé tout ça je te remercie pour ton aide en tout cas.

Bonne journée.

Voilà la solution:

Code:
Sub Comparaison()

 Dim i As Integer
 Dim nbColonne As Integer

  nbColonne = Range("A2").End(xlDown).Row

    With Range("C2:D" & nbColonne)
        For i = 1 To .Count
            Range("I2:J" & nbColonne).Cells(i) = .Cells(i) = Range("F2:G" & nbColonne).Cells(i)
        Next i
    End With

End Sub
 
Re : Comparaison de cellules et affichage de "Vrai ou Faux"

Re,

Juste, pour être pointilleux, et si quelqu'un reprend ton code:
nbColonne ne serait-il pas mieux appellé nbLigne!? ....arf🙂 En type long (pour ce qui est des lignes et colonnes)

[Edition] Attention à l'emploi de XlDown qui peut très vite atteindre la fin de feuille (1048576 lignes pour excel 2010) si tu n'as rien en A3

Voir du côté de .End(xlUp) ou de [A2].currentRegion ou tester la variable.

A+
 
Dernière modification par un modérateur:
- 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

Réponses
15
Affichages
718
Réponses
8
Affichages
375
Réponses
4
Affichages
272
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
278
Réponses
4
Affichages
712
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…