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

Cougar

XLDnaute Impliqué
Bonsoir le forum,

Je dois faire la vérification de + de 10000 lignes. Donc pour simplifier le tout, je cherche un code qui me permettrait de vérifier si la cellule en B est = au textbox1 si oui le mettre en rouge. Si le textbox1 est en rouge, vérifier si la cellule en C = le texbox2 et ainsi de suite pour 7 cellules (B à H).

Voici un exemple :
Do Until ActiveCell = ""
If ActiveCell = TextBox1 Then
ActiveCell.Interior.ColorIndex = 3
ActiveCell.Offset(0, 1).Select
If ActiveCell = TextBox2 Then
ActiveCell.Interior.ColorIndex = 3
ActiveCell.Offset(0, 1).Select
End If
Else
ActiveCell.Offset(1, 0).Select
End If
...
Loop

Merci de votre car je ne trouve pas comment faire.
 
Re : Cellule = Texbox

Bonjour Cougar


Cougar à dit:
Si le textbox1 est en rouge

Comment un utilisateur peut changer la couleur d'un TextBox?

Tu peux envoyer ton fichier simplifié, qu'on puisse mettre notre macro directement dessus?

(nous permettant ainsi de tester notre macro et te proposer une version nickel du premier coup).

A te lire

Cordialement
 
Re : Cellule = Texbox

Bsr Excel-lent,

Voici une solution je pense ,

J'avais pas vu le fichier , voici la solution intégrée :

Sub Scrute()
Dim Ligne As Long, LigneFin As Long
LigneFin = Range("B65536").End(xlUp).Row
For Ligne = 1 To LigneFin
If Range("B" & Ligne) <> userform1.textbox1.Text Then
Range("B" & Ligne).Interior.ColorIndex = 3
If Range("C" & Ligne) <> userform1.textbox2.Text Then
Range("C" & Ligne).Interior.ColorIndex = 3
If Range("D" & Ligne) <> userform1.textbox3.Text Then
Range("D" & Ligne).Interior.ColorIndex = 3
If Range("E" & Ligne) <> userform1.textbox4.Text Then
Range("E" & Ligne).Interior.ColorIndex = 3
If Range("F" & Ligne) <> userform1.textbox5.Text Then
Range("F" & Ligne).Interior.ColorIndex = 3
If Range("G" & Ligne) <> userform1.textbox6.Text Then
Range("G" & Ligne).Interior.ColorIndex = 3
If Range("H" & Ligne) <> userform1.textbox7.Text Then
Range("H" & Ligne).Interior.ColorIndex = 3
End If
End If
End If
End If
End If
End If
End If
Next Ligne
End Sub
 

Pièces jointes

Dernière édition:
Re : Cellule = Texbox

Bonjour,

En supposant que tu aies rajouté 2 TextBox (nommés TextBox6 et TextBox7), dans ton userform, tu peux essayer ce code :

Code:
Private Sub Vérication_Click()
Dim I As Byte
For I = 1 To 7
    Me.Controls("TextBox" & I).BackColor = vbWhite
Next I
With Sheets("Feuil1")
    For I = 1 To 7
        Set c = .Columns(I + 1).Find(Me.Controls("TextBox" & I))
        If Not c Is Nothing Then
            Me.Controls("TextBox" & I).BackColor = vbRed
        End If
    Next I
End With
End Sub

Le fichier :
 

Pièces jointes

Re : Cellule = Texbox

Bonjour bhbh,

Je me rends compte que ma demande n'est pas très claire comme il arrive souvent.

Donc nouvelle tentative.

À l'aide d'un userform, si un des textbox = une une valeurs de B à H, la cellule correspondantes est rempli en rouge (ex. : si le textbox 1 et 5 ont les mêmes valeurs (ex. : 12, 25), les cellules en B et F deviennent rouge.

Merci
 
Dernière édition:
Re : Cellule = Texbox

re-,

essaie avec ce code :

Code:
Private Sub Vérication_Click()
Dim I As Byte
Dim C As Range
Range("B1").CurrentRegion.Interior.ColorIndex = xlNone
With Sheets("Feuil1")
    For I = 1 To 7
        Set C = .Columns(I + 1).Find(Me.Controls("TextBox" & I))
        If Not C Is Nothing Then
            C.Interior.ColorIndex = 3
        End If
    Next I
End With
End Sub

Bonne journée
 
Re : Cellule = Texbox

bonjour Cougar ,bhbh,camarchepas,Excel-lent, le forum
"brut" on peut faire comme cela a tester
code de ton bouton

Code:
Dim c As Range, i As Byte
   Application.ScreenUpdating = False
   For Each c In Range(Cells(1, 2), Cells(Cells(65536, 8).End(xlUp).Row, 8))
   For i = 1 To 7
   If Controls("TextBox" & i) <> "" Then
   If CDbl(Controls("TextBox" & i).Value) = c.Value Then c.Interior.ColorIndex = 3
    End If: Next i: Next c

si tu as beaucoup de lignes passer par un "tablo" plus rapide pas le temps de construire
 
- 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
9
Affichages
201
Réponses
10
Affichages
281
Réponses
2
Affichages
153
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
162
Retour