• Initiateur de la discussion Initiateur de la discussion Nanard
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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
 
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
 
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+
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
677
Réponses
4
Affichages
465
Réponses
10
Affichages
830
Retour