Le contenu de la cellule étant le même que celui de la textbox interdir saisie

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

fb62840

XLDnaute Impliqué
Bonjour à toutes et tous,

Je fais appel à vous car je ne parviens pas à obtenir un fonctionnement correct de cette macro (elle est supposer vérifier que le contenu d'une TextBox ne se trouve pas déjà sur la feuille)

Code:
Private Sub CommandButton1_Click()
Dim val1
val1 = TextBox1.Value
With Sheets("Base")
    For Each Cell In .Range("A2:C" & .Range("A65536").End(xlUp).Row)
    Next
    'Devrait m'afficher vrai lorsque la cellule a le même contenu que la TextBox1
    MsgBox Cell = val1
    'Et pourtant lorsque c'est le cas cela affiche "Faux"   

 If Cell = val1 Then
        MsgBox ("Impossible d'enregistrer plusieurs fois les mêmes données.")
        Exit Sub
 Else

    Num = Sheets("Base").Range("A65536").End(xlUp).Row + 1
    Sheets("Base").Activate
    Range("A" & Num).Value = TextBox1.Value
    Range("B" & Num).Value = TextBox2.Value
 End If
End With
End Sub
 

Pièces jointes

Re : Le contenu de la cellule étant le même que celui de la textbox interdir saisie

bonjour fb62840 , l'ami Pierrot🙂

je vois que tu tiens pas compte de la textbox2 ??
une facon de l'ecrire je cherche seulement sur colonne 1 a adapter

Code:
Private Sub CommandButton1_Click()
 Dim n As Long, a As Range
 With Sheets("Base")
 n = .Range("A65536").End(xlUp).Row
 Set a = .Range("A2" & ":A" & n).Find(What:=TextBox1, LookIn:=xlValues, LookAt:=xlWhole)
 If Not a Is Nothing Then
 MsgBox ("Impossible d'enregistrer plusieurs fois les mêmes données.")
 Else
 .Range("A" & n + 1) = TextBox1.Value
 .Range("B" & n + 1) = TextBox2.Value
 End If
 End With
End Sub
 
Re : Le contenu de la cellule étant le même que celui de la textbox interdir saisie

Comment pourrais-je faire si je souhaitais mettre deux conditions ?

avec par exemple une condition sur le nom ?

bonjour fb62840 , l'ami Pierrot🙂

je vois que tu tiens pas compte de la textbox2 ??
une facon de l'ecrire je cherche seulement sur colonne 1 a adapter

Code:
Private Sub CommandButton1_Click()
 Dim n As Long, a As Range
 With Sheets("Base")
 n = .Range("A65536").End(xlUp).Row
 Set a = .Range("A2" & ":A" & n).Find(What:=TextBox1, LookIn:=xlValues, LookAt:=xlWhole)
 If Not a Is Nothing Then
 MsgBox ("Impossible d'enregistrer plusieurs fois les mêmes données.")
 Else
 .Range("A" & n + 1) = TextBox1.Value
 .Range("B" & n + 1) = TextBox2.Value
 End If
 End With
End Sub
 
Re : Le contenu de la cellule étant le même que celui de la textbox interdir saisie

re,

Code:
Private Sub CommandButton1_Click()
 Dim n As Long, a As Range, b As Range
 With Sheets("Base")
 n = .Range("A65536").End(xlUp).Row
 Set a = .Range("A2" & ":A" & n).Find(What:=TextBox1, LookIn:=xlValues, LookAt:=xlWhole)
 Set b = .Range("B2" & ":B" & n).Find(What:=TextBox2, LookIn:=xlValues, LookAt:=xlWhole)
 If Not a Is Nothing Or Not b Is Nothing Then
 MsgBox ("Impossible d'enregistrer plusieurs fois les mêmes données.")
 Else
 .Range("A" & n + 1) = TextBox1.Value
 .Range("B" & n + 1) = TextBox2.Value
 End If
 End With
End Sub

dans certains plus simple de contrôler a la source & non en validant mais bon!!!
 
Re : Le contenu de la cellule étant le même que celui de la textbox interdir saisie

Merci c'est parfait.

re,

Code:
Private Sub CommandButton1_Click()
 Dim n As Long, a As Range, b As Range
 With Sheets("Base")
 n = .Range("A65536").End(xlUp).Row
 Set a = .Range("A2" & ":A" & n).Find(What:=TextBox1, LookIn:=xlValues, LookAt:=xlWhole)
 Set b = .Range("B2" & ":B" & n).Find(What:=TextBox2, LookIn:=xlValues, LookAt:=xlWhole)
 If Not a Is Nothing Or Not b Is Nothing Then
 MsgBox ("Impossible d'enregistrer plusieurs fois les mêmes données.")
 Else
 .Range("A" & n + 1) = TextBox1.Value
 .Range("B" & n + 1) = TextBox2.Value
 End If
 End With
End Sub

dans certains plus simple de contrôler a la source & non en validant mais bon!!!
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
481
Réponses
3
Affichages
665
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
650
Réponses
1
Affichages
522
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
861
Retour