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

Joeloue Messages postés 28 Statut Membre -  
 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

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
  2. Joeloue Messages postés 28 Statut Membre 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
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    déjà celle là
    celluletrouvee As Range
    celluletrouvee as Object
    0
  4. Joeloue Messages postés 28 Statut Membre 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
  7. Joeloue Messages postés 28 Statut Membre 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
  8. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
  9. Joeloue Messages postés 28 Statut Membre 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
  10. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
  11. Joeloue Messages postés 28 Statut Membre 2
     
    merci pour ta disponibilité

    j ai testé sa marche pas
    0
  12. ccm81 Messages postés 11033 Statut Membre 2 434
     
    sa marche pas
    mêmes questions (voir post 5) !!!!
    0
  13. Joeloue Messages postés 28 Statut Membre 2
     
    pas de résultat j ai travailler en mode pas à pas
    0
  14. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
    1. 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
      1. 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