Verifier si la valeur d'un textbox est dans une plage

Fermé
Joeloue Messages postés 27 Date d'inscription vendredi 30 octobre 2020 Statut Membre Dernière intervention 1 juillet 2022 - 17 mai 2022 à 09:43
 Joeloue - 22 mai 2022 à 06:14
Bonjour,
je voudrais Vérifier qu' un textbox existe dans une plage de données si oui écrire la valeur du textbox2, dans la colonne correspondante.

<Private Sub CommandButton2_Click()

With Sheets(ComboBox1.Text) 'choisir la feuille sur laquelle la modification doit s effectuée
.Visible = True
.Activate
' la verification de la date doit s effectuer sur la plage ( j2:AN2)

activesheets.Range ("j2:AN2").Select = TextBox1.Value
If Not Is Nothing Then
MsgBox "la date existe"
Else
MsgBox "la date n'existe pas ressaisir svp"
End If
End With
'si la date est la meme mettre le textbo2 sur la ligne en dessous vide

End Sub>




Configuration: Windows / Chrome 101.0.4951.54

13 réponses

ccm81 Messages postés 10862 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 30 mai 2024 2 408
Modifié le 17 mai 2022 à 13:39
Bonjour

Il te faut passer par Find

d = TextBox1.Text
Set obj = ActiveSheet.Range("J2:AN2").Find(d)
If Not obj Is Nothing Then 
   ....'trouvé
Else
   ....'pas trouvé
End If

Cdlmnt
0
Joeloue Messages postés 27 Date d'inscription vendredi 30 octobre 2020 Statut Membre Dernière intervention 1 juillet 2022 2
17 mai 2022 à 13:48
bonjour ccm81 voila mo code test il fonctionne pas

<Private Sub CommandButton2_Click()

Dim Plage As Range, celluletrouvee As Range

Dim VarDate As Date

With Sheets(ComboBox1.Text)
.Visible = True
.Activate
VarDate = CDate(TextBox1)
Set celluletrouvee = Sheets(ComboBox1.Text).Range("j2:AN2").Find(VarDate)
If celluletrouvee Is Nothing Then
MsgBox "la date existe"
Else
MsgBox "la date n'existe pas resaissir svp"
End If
End With
Exit Sub

End Sub>
0
ccm81 Messages postés 10862 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 30 mai 2024 2 408
Modifié le 17 mai 2022 à 13:53
déjà celle là
celluletrouvee As Range
celluletrouvee as Object
0
Joeloue Messages postés 27 Date d'inscription vendredi 30 octobre 2020 Statut Membre Dernière intervention 1 juillet 2022 2
17 mai 2022 à 14:02
ca fonctionne pas
Dim celluletrouvee As Object
Dim VarDate As Date

With Sheets(ComboBox1.Text)
.Visible = True
.Activate
VarDate = CDate(TextBox1)
Set celluletrouvee = Sheets(ComboBox1.Text).Range("j2:AN2").Find(VarDate)
If celluletrouvee Is Nothing Then
MsgBox "la date existe"
Else
MsgBox "la date n'existe pas resaissir svp"
End If
End With
Exit Sub

End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 10862 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 30 mai 2024 2 408
17 mai 2022 à 14:10
ca fonctionne pas
qu'est ce qui ne fonctionne pas : message d'erreur, pas le résultat attendu, ... ?
As tu utilisé le mode pas à pas et vérifié l'état des variables ?
0
Joeloue Messages postés 27 Date d'inscription vendredi 30 octobre 2020 Statut Membre Dernière intervention 1 juillet 2022 2
17 mai 2022 à 14:24
le message s affiche date existante quelque soit la date entrée "j2:an2" tout le mois de mai 2022 textbox1="01/04/2022" msgbox affiche date existante.
0
ccm81 Messages postés 10862 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 30 mai 2024 2 408
Modifié le 17 mai 2022 à 14:58
Tu n'as pas bien lu le post 1
If celluletrouvee Is Nothing Then
MsgBox "la date existe"
Else
MsgBox "la date n'existe pas resaissir svp"
End If 

tu as écrit (ton code past 4) si la date n'existe pas (nothing) alors la date existe !!!!
0
Joeloue Messages postés 27 Date d'inscription vendredi 30 octobre 2020 Statut Membre Dernière intervention 1 juillet 2022 2
17 mai 2022 à 15:41
OUI j'ai changé et l erreur était le format date sa marche
deuxième volet de mon code

'si la date est la meme mettre le textbox2 sur la ligne en dessous vide
mes dates sont répertorier de "j2:AN2" si j ai une date correspondante en k2 écrire le textebox2 sur la meme colonne non vide
une idée
0
ccm81 Messages postés 10862 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 30 mai 2024 2 408
17 mai 2022 à 15:50
De rien,

ceci devrait fonctionner
If Not celluletrouvee Is Nothing Then
  MsgBox "la date existe"
  celluletrouvee.offset(1,0).Value = TextBox2.Text
Else
  MsgBox "la date n'existe pas resaissir svp"
End If 

sinon
celluletrouvee.Address te renvoie l'adresse de celluletrouvee
celluletrouvee.row te envoie sa ligne
celluletrouvee.column te renvoie sa colonne

Cdlmnt
0
Joeloue Messages postés 27 Date d'inscription vendredi 30 octobre 2020 Statut Membre Dernière intervention 1 juillet 2022 2
17 mai 2022 à 16:30
merci pour ta disponibilité

j ai testé sa marche pas
0
ccm81 Messages postés 10862 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 30 mai 2024 2 408
17 mai 2022 à 16:37
sa marche pas
mêmes questions (voir post 5) !!!!
0
Joeloue Messages postés 27 Date d'inscription vendredi 30 octobre 2020 Statut Membre Dernière intervention 1 juillet 2022 2
17 mai 2022 à 16:41
pas de résultat j ai travailler en mode pas à pas
0
ccm81 Messages postés 10862 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 30 mai 2024 2 408
17 mai 2022 à 20:03
pas de résultat j ai travailler en mode pas à pas
Et ??
Un exemple sur le même principe à adapter
https://www.cjoint.com/c/LErscu2wjpB

Cdlmnt
0
Bonjour ca marche comme indiqué sur le poste 1
L expression ca marche doit apparaitre a chaque fois qu on choix une date.
Le code doit etre inclus
<maLigne = Range("j:an " & Rows.Count).End(xlUp).Row + 1
>
0
Joeloue > Joeloue
22 mai 2022 à 06:14
A chaque fois si on choisi 7 fois la meme date l expression ce mettra sur la colonne que la date 7 fois
0