VBA: Condition sur recherchev

Résolu/Fermé
TeddyGalere Messages postés 75 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 mai 2016 - Modifié par crapoulou le 27/04/2016 à 09:46
TeddyGalere Messages postés 75 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 mai 2016 - 27 avril 2016 à 10:52
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

dragondark Messages postés 465 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 27 avril 2016 157
27 avril 2016 à 09:54
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
TeddyGalere Messages postés 75 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 mai 2016
27 avril 2016 à 10:22
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 27/04/2016 à 10:43
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
TeddyGalere Messages postés 75 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 mai 2016
27 avril 2016 à 10:52
Bonjour Michel,

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

En te remerciant.

Bonne journée à tous

Teddy
0