Condition sous VBA

N

Nanard

Guest
Bonjour à tous le forum,

Voici quel est mon souci
depuis hier je n'arrive pas à mettre une condition sous VBA en utilisant les blocs IF et ELSE

en clair j'effectue avec la fonction recherchev une recherche à l'aide de N° pour avoir des renseigements sur un client
par exemple : 0102030474

Lorsque le client n'est pas trouvé mon code doit sélectionner la feuil client pour l'ajouter à ma base de donnée

Voilà mon code:

Sub recherche_clients()
Dim Nom_Boîte As Variant
Dim Valeur_E10 As Variant
ActiveSheet.Unprotect
Sheets("Facture").Select
Valeur_E10 = InputBox("Entrez le numéro du client ")
Nom_Boîte = Valeur_E10
Range("E10").Select
ActiveCell.Value = Valeur_E10
Dim i As Variant
If i = False Then
Sheets("Clients").Select Else
Sheets("Facture").Select
End If

End Sub

je vais toujours sur la feuil Client !!

Merci de m'ouvrir les yeux

Nanard
 
N

Nanard

Guest
Bonjour michel,

la valeur de i varie selon le N° à entrer pour la recherche

Si le N° n'est pas connu, je n'ai pas la recherchev demandée, donc je dois me rendre automatiquement sur la feuil client pour la renseigner

Merci de m'aider

nanard
 
N

Nanard

Guest
rebonjour à tous ,

voici les modifs apportées,

cette fois lorsque la cellulle qui contient un recherchev est faux je voudrais allez renseigner ma feuil clients

Cette fois j'avoue que je suis pas mal perdu

Merci à celui ou celle qui voudra m'ouvrir les jeux

Nanard
 
N

Nanard

Guest
nanard,

le code pourra peut être aider !!

Sub recherche_clients()
Dim Nom_Boîte As Variant
Dim Valeur_E10 As Variant
ActiveSheet.Unprotect
Sheets("Facture").Select
Valeur_E10 = InputBox("Entrez le numéro du client ")
Nom_Boîte = Valeur_E10
Range("E10").Select
ActiveCell.Value = Valeur_E10
Dim i As Integer

Valeur_E11 = i

If i = False Then
Sheets("Clients").Select 'je vais toujours sur la feuil Client !!
Else
Sheets("Facture").Select
End If

End Sub

Quelle valeur mettre à i du fait que c'est du texte

J'y perd mon latin

Nanard
 
Y

Yeahou

Guest
Bonjour Nanard, Michel, Arnaud, Le Forum

Nanard, ton problème est toujours le même, tu n'initialises pas i. Etant variant, celui ci est égal en fonction de son utilisation à false ou zéro ce qui sélectionne toujours ta feuille client.
mets un fichier exemple car tes explications sont plutôt confuses.

Cordialement, A+
 
Y

Yeahou

Guest
Re Bonjour

voici ton code modifié et fonctionnel, il fonctionnera quelque soit la feuille active.

Cordialement, A+

Sub recherche_clients()
With ActiveWorkbook.Sheets("Facture")
.Range("E10").Value = Application.InputBox(prompt:="Entrez le numéro du client ", Type:=1)
If IsError(.Range("E11").Value) Then
ActiveWorkbook.Sheets("Clients").Select
Else
.Select
End If
End With
End Sub
 
N

Nanard

Guest
Re RE bonjour Yeahou,

Merci beaucoup ça fonctionne à merveille, mon approche n'était peut être pas idéale, définir la valeur de I pas simple au vu de ce que je voulais faire

Je m'était orienté avec Boolean (true , false), enfin dur dur l'apprentissage

Merci encore

Nanard
 

Discussions similaires

Statistiques des forums

Discussions
312 412
Messages
2 088 196
Membres
103 763
dernier inscrit
p.michaux