Signaler

Retrouver un ongler [Résolu]

Posez votre question Eddy291182 16Messages postés mardi 6 juin 2017Date d'inscription 21 juin 2017 Dernière intervention - Dernière réponse le 21 juin 2017 à 17:51 par Eddy291182
Bonjour,

Suite un soucis je voudrais savoir si il serais possible de trouver un onglet dans un classeur je m'explique j'ai un classeur Clients qui auras des centaine d'onglet ( un onglet = un Num Client ) je voudrais savoir si il serait possible de créer une macro ou autre qui me permettrais de retrouver un onglet précis je m'explique dans la premier feuille du classeur j'aurais un tableau identique a tout les autre je tape un numéro clients X et elle me retrouve ce clients et me mes sur cette onglet du numéro clients et de la je pourrais soit modifier des cellule ou de supprimer cette ongles en sachant que le classeur peu aussi avoir de nouveau onglet chaque jours donc quant je rechercherais l'onglet malgré les nouveau onglet qui ce métra.

J’espère que je me suis bien expliquer. Merci


Utile
+0
plus moins
Bonjour,


sub test()
Dim nomOnglet as string

nomOnglet = "toto" ' par exemple
If FExist(nomOnglet) Then
  Sheets(nomOnglet).activate
End if



End Sub

Function FExist(NomF As String) As Boolean ' test si la feuille existe 
Application.ScreenUpdating = False 
On Error Resume Next 
FExist = Not Sheets(NomF) Is Nothing 
Application.ScreenUpdating = True 
End Function 


Eddy291182 16Messages postés mardi 6 juin 2017Date d'inscription 21 juin 2017 Dernière intervention - 20 juin 2017 à 20:30
Bonsoir Dany pour tout cela mais je viens de crée des nouveau onglet avec ton dossier en quant je lance la macro je tape mon num client X ben cela me met sur tout or ce n'est pas ce que je voudrais j'en suis vraiment désoler donc je te le revois en espèrent que vous pourrais m'aider et pour les autre sujet je vais les supprimer de suite mille merci de votre aide a tous.
Voici ton classeur avec de nouveau ongle clients "c'est des faux" lol ^^
https://mon-partage.fr/f/iQOejLdf/
Répondre
Dany- 21 juin 2017 à 05:43
 
1) J'ai vu que tu as supprimé ton sujet en trop : c'est bien mieux ainsi !
Donc tu en as maintenant 3, et ton sujet « Denande aide vba excel »
est en vert, donc résolu : c'est impeccable, n'y touche plus !  ;)

--------------------------------------------------

2) Pour ton sujet « Plusieur opération dans une cellule », j'ai pu voir que
tu as bien lu mon message du 9 juin 2017 à 16:05, et je suis content qu'il
t'a plu car tu as mis : « Problème résolut mille merci » ; cependant, pour
passer un sujet en résolu, il faut faire autrement que l'écrire ; c'est pour
ça que le texte du sujet est resté en noir : il n'est pas passé en vert !

Va au tout début de la discussion, tout en haut de page, et sous le titre
de ton sujet « Plusieur opération dans une cellule », tu verras ce lien :
« Marquer comme résolu » ; clique dessus : c'est ça qui fait réellement
passer le sujet en résolu, donc tu verras que ton sujet passe en vert,
et le texte " [Résolu]" est ajouté au bout.

Si tu fais ça correctement, tu auras alors 2 sujets en vert sur 3 => tu auras
2 sujets résolus ; quand tu regardes ensuite la liste de tes sujets, ceux qui
apparaissent plus clairement sont ceux en noir : tes sujets qui n'ont pas
encore été résolus ; avantage : tu les vois plus facilement !  ;)

Ton seul sujet non résolu (en noir) sera alors celui de cette discussion :
le sujet « Retrouver un ongler ».

--------------------------------------------------

3) Dans mon message précédent du 21 juin, au point 3), j'ai décrit ce que
ça fait quand tu cliques sur ton bouton rouge « Cliquez ici » ; j'ai oublié de
préciser que ça ne lis pas la case vide du dessus : ça cherche seulement
à aller sur la feuille "toto" (si cette feuille existe) ; donc comme ça ne lit
jamais la case vide blanche où tu tapes le nom de ton client, c'est tout
à fait normal que ça ne marche pas quand tu essayes d'aller sur une
autre feuille ! J'avais fais mon code VBA uniquement pour ceci : afficher
ton formulaire, puis si tu cliques sur le bouton rouge, ça va sur la feuille
"toto" ou non ; rien d'autre !

Je pensais que tu voulais juste une démonstration de la fonction FExist(),
pour aller ou non sur la feuille "toto", et que tu allais continuer le code ;
comme quoi, il faut toujours que tu précises bien ce que tu veux !

--------------------------------------------------

4) Pour ta nouvelle demande, j'ai changé la sub Essai() de Module1 :
l'appel du formulaire peut maintenant se faire depuis n'importe quelle
feuille (et plus uniquement depuis la feuille "Recherche Client").

Tu peux donc faire Ctrl Shift A depuis la feuille que tu veux => quand
ça ira sur la feuille d'un client, tu peux refaire Ctrl Shift A pour choisir
un autre client ; car cette fois, ça lit bien la case vide blanche où tu
tapes le nom du client (j'ai bien sûr modifié le code du formulaire
afin que tu puisses obtenir ce que tu voulais).

Tu pourras te rendre compte qu'après avoir tapé le nom d'un client,
tu peux cliquer sur le bouton rouge ou appuyer sur la touche Entrée
du clavier : ça fera exactement la même chose (personnellement,
je trouve que c'est plus simple d'appuyer sur Entrée juste après
avoir fini de saisir le nom ; mais à chacun ses préférences).

Tu pourras choisir un de ces 3 clients : "toto", "158", "134" ; mais en fait,
ça ira sur n'importe quelle feuille dont le nom existe ; donc ça ira aussi
sur ces feuilles si tu tapes leur nom : "Fiche vierge", "Recherche Client",
"Pour les retours bilan" ; c'est bien sûr possible d'ajouter du code VBA
pour interdire d'aller sur ces 3 feuilles spéciales, mais c'est plus facile si
on met ces 3 feuilles spéciales au début, et que toutes les feuilles des
clients sont après ; c'est pourquoi j'ai déplacé à droite la feuille "toto" :
c'est maintenant la 4ème feuille.

Je n'ai pas encore interdit d'aller sur les 3 feuilles spéciales du début,
car je préfère attendre que tu me dises si tu le veux ou non.

Si tu tapes le nom d'un client qui n'existe pas, ça fait rien du tout :
tu quittes juste le formulaire et tu restes sur la même feuille où tu
étais au départ ; on peut afficher le message "Client introuvable",
mais je te conseille de l'éviter : l'utilisateur verra bien que s'il est
resté sur la même feuille, c'est parce que le client demandé est
introuvable, donc inutile de ralentir son rythme de travail juste
par l'affichage d'un message dont il se doute du contenu, et qui
l'obligera a fermer cette fenêtre de message pour continuer :
appui sur Entrée, ou appui sur Echap, ou clic sur OK, ou clic
sur la case du coin haut droit de la fenêtre (avec une croix).

--------------------------------------------------

Fichier : https://mon-partage.fr/f/yL3Lkf9t/
 
Répondre
Eddy291182 16Messages postés mardi 6 juin 2017Date d'inscription 21 juin 2017 Dernière intervention - 21 juin 2017 à 06:54
Super mille merci tout fonction bien problème résolut mille merci par contre Tu me conseille quoi comme programme pour en apprendre correctement le VBA car je suis débutant et je voudrais me perfectionner un peu mille merci pour tout.
Répondre
Dany- 21 juin 2017 à 17:20
 
J'ai vu avec plaisir que tes 3 sujets sont maintenant en vert : tous résolus !  :)

Merci d'avoir fait la manœuvre correcte ; et tu peux voir que même si un
sujet est passé en résolu, je te réponds quand même si tu demandes
un complément d'info dans le même sujet.

Bien sûr, si tu as un autre problème à résoudre avec Excel ou son VBA,
tu devras alors créer un nouveau sujet (cliquer sur le bouton vert).

----------------------------------------------------------------------------------------------------------

Complément : pour interdire d'aller sur les 3 feuilles spéciales de gauche,
il suffit de changer ainsi la sub GoClient() :


Private Sub GoClient()
  Dim nomOnglet As String
  nomOnglet = TextBox1: If nomOnglet = "" Then Exit Sub
  If Not FExist(nomOnglet) Then Exit Sub
  With Worksheets(nomOnglet)
    If .Index > 3 Then .Activate
  End With
End Sub


C'est pour ça que les feuilles spéciales doivent être groupées à gauche :
le code est simplifié car au lieu de tester le nom de chaque feuille, on a
juste à vérifier si l'index de la feuille (= sa position parmi les autres) est
supérieur à 3 ou non.

Pour ta 1ère feuille : index 1 ; pour ta 2ème feuille : index 2 ; pour ta
3ème feuille : index 3 ; pour ta 4ème feuille "toto" : index 4 ; etc...

Si index > 3 (=> à partir de 4), on va sur la feuille Client ; sinon, on ne
fait rien : on sort de la sub (sans aller sur une des feuille spéciales).

----------------------------------------------------------------------------------------------------------

Pour apprendre le VBA, tu peux déjà commencer par là :
http://www.excel-pratique.com/fr/vba.php

Tu peux aussi faire une recherche google avec ces termes :
comment apprendre vba excel

Tu as beaucoup de choix : c'est comme tu préfères !  ;)
choisis plutôt les gratuits, et évite les payants.
 
Répondre
Eddy291182 16Messages postés mardi 6 juin 2017Date d'inscription 21 juin 2017 Dernière intervention - 21 juin 2017 à 17:51
Bonsoir et merci pour tout
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !