VBA: Condition sur recherchev

Résolu
TeddyGalere Messages postés 77 Statut Membre -  
TeddyGalere Messages postés 77 Statut Membre -
Bonjour la communauté,

J'ai un petit soucis: Je n'arrive pas a faire une condition sur une recherchev...

Je m'explique:

J'ai un UserForm pour lequel je choisi un élément (une clé primaire) et il m'alimente le reste de mon tableau grâce aux infos d'un tableau...
Je doit pouvoir ensuite completer cet UserForm pour alimenter un autre tableau (pour le moment vierge)...
Le problème c'est que je souhaiterai pouvoir modifier les données de l'userform et donc rappeler les nouvelles données...

J'ai essayé de codé ca comme ceci, mais ca ne marche pas:

With Sheets("Suivi budgétaire")
If (n_ligne = .Columns("BQ").Find(ComboBox_choix, .Range("BQ5"), xlValues).Row) = False Then
TextBox_junior = ""
TextBox_senior = ""
TextBox_manager = ""
TextBox_qualité = ""
Else
TextBox_junior = .Cells(n_ligne, 23)
TextBox_senior = .Cells(n_ligne, 24)
TextBox_manager = .Cells(n_ligne, 25)
TextBox_qualité = .Cells(n_ligne, 26)
End if
End with


Quelqu'un aurait il une solution pour faire une fonction "IF" pour laquelle l'argument serait si une recherchev est disponible ou non...

En espérant avoir été assez clair...

Merci d'avance

2 réponses

  1. dragondark Messages postés 481 Statut Membre 159
     
    Bonjour,

    Je ne suis pas sur de comprendre votre problématique
    si ta rechercheV ne fonctionne pas (sachant que c'est pas du VB) tu a comme résultat #N/A
    donc si ta cellule = #N/A c'est que rechercheV à échoué ?

    C'est ça que tu cherchais ?

    Cordialement
    Dragondark de Lonlindil
    0
    1. TeddyGalere Messages postés 77 Statut Membre
       
      le problème est que comme je n'ai encore aucune donnée dans mon tableau "suivi budgétaire" à la première saisie, ma recherche n’aboutit pas et donc ma macro s’arrête...
      j'ai donc tenté de faire mettre ma recherche en conditionnelle, mais je crois que c'est mon code pour faire ca qui n'est pas bon...
      Je suis pas sur qu'excel reconnaisse cette partie la:

      If (n_ligne = .Columns("BQ").Find(ComboBox_choix, .Range("BQ5"), xlValues).Row) = False
      0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    With Sheets("Suivi budgétaire")
    If Application.CountIf(.Columns("BQ"), combobox_choix) = 0 Then
    TextBox_junior = ""
    TextBox_senior = ""
    TextBox_manager = ""
    TextBox_qualité = ""
    Else
    n_ligne = .Columns("BQ").Find(combobox_choix, .Range("BQ5"), xlValues).Row
    TextBox_junior = .Cells(n_ligne, 23)
    TextBox_senior = .Cells(n_ligne, 24)
    TextBox_manager = .Cells(n_ligne, 25)
    TextBox_qualité = .Cells(n_ligne, 26)
    End If
    End With


    avec "Find", une valeur non trouvée renvoie une erreur

    mais
    EN AUCUN CAS, il s'agit d'une Recherche V

     Michel
    0
    1. TeddyGalere Messages postés 77 Statut Membre
       
      Bonjour Michel,

      Je ne savais pas, mais merci beaucoup pour l'info !!!

      En te remerciant.

      Bonne journée à tous

      Teddy
      0