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

Comparer cellules de deux colonnes vba

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

mgrizzly

XLDnaute Junior
Bonjour,

Je souhaite comparer les cellules de deux colonnes en VBA sous excel.

J'ai la colonne B où les noms sont déja insrits et la colonne K où je voudrais qur l'utilisateur rentre des noms et valide ces noms en cliquant sur un bouton. Si un nom est le même alors je voudrais vcerrouiller la ligne de la cellule de la colonne B. Ce que j'ai fait ne marche pas.

Voila mon code :

Sub Comparaison()

Dim VALEURA As String, VALEURB As String

For i = 9 To 59
VALEURA = Range("B" & i).Value
For j = 9 To 59
VALEURB = Range("K" & j).Value
If VALEURA = VALEURB Then
Worksheets("Compétences").Activate
Worksheets("Compétences").VALEURA.Select
Rows(ActiveCell.Row).Select
Selection.Locked = True
End If
Next j
Next i

End Sub

Merci de m'aider, il n'y a pas d'erreur dans le code mais rien ne se passe quand je clique sur le bouton.
 
Re : Comparer cellules de deux colonnes vba

Bonjour mgrizzly, bonjour à toutes et à tous 🙂


Il est normal que rien ne se passe car VALEURA contient une $tring.

Sans filet, sans fichier, essaie ce bout de code et tiens-nous au courant :

Code:
Option Explicit

Sub Comparaison()
'
Dim VALEURA As String, ShComp As Worksheet
Dim i As Long
'
Set ShComp = Sheets("Compétences")

For i = 9 To 59

VALEURA = Range("B" & i).Value

With Application.WorksheetFunction

  If .CountIf(Range(Cells(9, "B"), Cells(59, "B")), VALEURA) > 0 Then
    ShComp.Range("A" & i).EntireRow.Locked = True
  End If
  
End With

Next i

ShComp.Protect

End Sub

@+
 
Re : Comparer cellules de deux colonnes vba

Merci kjin,
C'est tout à fait ce que je recherche sauf qu'à la place du msg je voudrais verrouiller la ligne où la cellule de la colonne B est la même que pour la cellule de la colonne K.
C'est pour un planning de congés du personnel (quand une personne est en congé la mettre dans la colonne K et ainsi elle se retrouve bloqhé dans la colonne B et sur la ligne, ainsi elles ne fera plus partie du roulement des agents).
 
Re : Comparer cellules de deux colonnes vba

J'ai pas compris à quoi servait macro2 et comment sais-tu que c'est dans la colonne K que tu dois rentrer les lettres, dans ton code?
Merci de me répondre
 
Re : Comparer cellules de deux colonnes vba

Re,
Macro2 ne sert à rien tu peux supprimer (reliquat de test)
Code:
'Si la colonne cible n'est pas la colonne 11 (donc K) on quitte la procédure
If Target.Column <> 11.... Then Exit Sub
A+
kjin
 
Re : Comparer cellules de deux colonnes vba

OK kjin,
Autre petite question : comment faire si on efface le nom dans la colonne K pour que la ligne se déverrouille?
Merci beaucoup de m'aider!
 
Re : Comparer cellules de deux colonnes vba

Re mgrizzly et kjin, bonjour à toutes et à tous 🙂

mgrizzly à dit:
Sinon kjin,
Voilà mon fichier, tu peux regarder pourquoi ton code que j'ai mis dedans ne marche pas?
Merci beaucoup.

Le code que tu a mis dedans est celui de kjin, et il fonctionne ainsi :

Si dans la colonne K on inscrit une valeur que l'on peut trouver également en colonne B, alors la ligne correspondante de la colonne B est verrouillée ; pas celle de la colonne K mais tes premières explications :

mgrizzly à dit:
If VALEURA = VALEURB Then
Worksheets("Compétences").Activate
Worksheets("Compétences").VALEURA.Select
Rows(ActiveCell.Row).Select
Selection.Locked = True

laissaient entendre que c'est bien la colonne de "VALEURA", i.e. la colonne B que tu souhaitais verrouiller.

Si ce n'est pas ça, explique plus précisément ta demande, quelle ligne veux-tu bloquer exactement ?

@+
 
- 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

Discussions similaires

Réponses
8
Affichages
243
Réponses
4
Affichages
437
Réponses
5
Affichages
570
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
749
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
313
Réponses
3
Affichages
779
Réponses
3
Affichages
706
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…