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

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 ?

 
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.

 
- 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
520
Réponses
3
Affichages
672
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
659
Réponses
1
Affichages
529
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
862
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…