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

Joeloue Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -  
 Joeloue -
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 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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   Statut Membre Dernière intervention   2
 
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 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
déjà celle là
celluletrouvee As Range
celluletrouvee as Object
0
Joeloue Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   2
 
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 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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   Statut Membre Dernière intervention   2
 
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 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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   Statut Membre Dernière intervention   2
 
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 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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   Statut Membre Dernière intervention   2
 
merci pour ta disponibilité

j ai testé sa marche pas
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
sa marche pas
mêmes questions (voir post 5) !!!!
0
Joeloue Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   2
 
pas de résultat j ai travailler en mode pas à pas
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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
Joeloue
 
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
 
A chaque fois si on choisi 7 fois la meme date l expression ce mettra sur la colonne que la date 7 fois
0