Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 29/06/2009, 15h51   #1 (permalink)
Membre à l'essai
 
Date d'inscription: septembre 2008
Messages: 45
Par défaut Etiquette go to

bonjour, je sais, c'est crade, c'est pas beau, c'est cracra, mais je vais utiliser un GOTO, bête noir, diable codifié (à défaut de personifié).

Je souhaiterais savoir, vu que j'en ai jamais utiliser et que je suis totalement novice en la matière (), je souhaiterais savoir :
Si je fais un goto sur une étiquette quelconque, comment fixer la fin de cette étiquette ? à quel moment le code va reprendre son cours normal...
Qwerty111 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/06/2009, 16h11   #2 (permalink)
Expert Confirmé
 
Avatar de Krovax
 
Date d'inscription: juillet 2008
Localisation: Elsass
Âge: 24
Messages: 1 887
Par défaut

essaye ce code
Code :
msgbox "bonjour"
goto LeLabelDiabolique
msgbox "tu ne me verras pas"
LeLabelDiabolique::
msgbox "Te voila damné"
 
A cun moment le code reprend son cour normale ou plutot a aucun moment il ne le quitte c'est juste que en lisant goto quelque part et bien il saute directement quelque part et continue comme si de rien nétait

Après tu peux faire des truc moche

(je te prépare un jolie petit code et toi aussi tu n'aimera plus les goto )
Krovax est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/06/2009, 16h21   #3 (permalink)
Membre à l'essai
 
Date d'inscription: septembre 2008
Messages: 45
Par défaut

D'accord, donc essayer de faire un truc du genre ci dessous c'est juste complètement boulet si je comprend bien, ça marchera pas comme je veux en plus

Code :
 
function quifaitdeschoses(fichierDeDépart)
 
intructions : 
rechercher bidule dans le fichier de Départ
si tu trouve, exit function
 
if t'a rien trouvé then
trouve tous les fichiers du dossier avec condition sur le nom de fichiers
Ouvre et active le nouveau fichier, 
goto instructions
end if
end function
C'est beau ça tiens du vba algo français english
Enfin j'espère qu'on ma compris...
Je crois bien j'ai aussi vite fait de me faire une petit fonction à part. (Ce qui m'amène à une autre question, on peut faire une fonction dans une fonction ? Je pense que oui ... Et est-ce que faut quand même que je passe les variables en paramètres ou pas ? Je pense pas, mais jsuis presque encore novice en vba, donc vérifier est toujours bien )
Qwerty111 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/06/2009, 16h29   #4 (permalink)
Expert Confirmé
 
Avatar de Krovax
 
Date d'inscription: juillet 2008
Localisation: Elsass
Âge: 24
Messages: 1 887
Par défaut

Oui c'est jolie ca s'apelle du pseudo code, c'est la base de tout programme. Si tu le monde sur le forum faisait ca ca permettrai de résoudre en 2 poste 75% des questions. (toute celles qui ne porte pas sur des syntaxe propre a VBA en fait)
Vu ton problème tu peux faire beaucoup plus simple, une boucle while avec un flag par exemple
Un lien vers un site qui est un très bon cours d'algorithmique

Regarde les structure qui sont donné tu les retrouve en VBA ca devrais t'aider a contruire ton algo

Code :
flag en booléen
flag=false 
faire tant que not flag
intructions : 
rechercher bidule dans le fichier de Départ
si tu trouve, flag=true
 
if t'a rien trouvé then
trouve tous les fichiers du dossier avec condition sur le nom de fichiers
Ouvre et active le nouveau fichier, 
flag=false
end if
fin tant que
Edit et oui si tu apelle une fonction dans une fonction biensur que tu doit passer tes variables en paramètres

Dernière modification par Krovax ; 29/06/2009 à 16h40.
Krovax est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/06/2009, 16h50   #5 (permalink)
Membre à l'essai
 
Date d'inscription: septembre 2008
Messages: 45
Par défaut

D'accord merci.

et pour la fonction, c'était plus pour savoir si on avait le droit de faire

Code :
function principale()
function secondaireImbriquée
end function
end function
Si c'est possible, les variables déclarer dans le principale doivent être accessible dans la seconde je pense ...
Enfin, si c'est possible de faire une fonction imbriquée. Jsais pas si ya bien un intérêt. Je vais méditer les flag
Qwerty111 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/06/2009, 16h55   #6 (permalink)
Expert Confirmé
 
Avatar de Krovax
 
Date d'inscription: juillet 2008
Localisation: Elsass
Âge: 24
Messages: 1 887
Par défaut

non ca tu ne peux pas faire.
tu doit les déclarer a part ou alors tu met directement le code


Code :
function principale()
a=secondaireImbriquée
end function
 
 
function secondaireImbriquée
end function
Je croit que tu devrais lire le lien que je t'ai filé
Ca part des bases mais lit le en entier au pire quand c'est trop basique il reste amusant
Krovax est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/06/2009, 17h01   #7 (permalink)
Membre à l'essai
 
Date d'inscription: septembre 2008
Messages: 45
Par défaut

Je suis en train
Pas mal de truc que je connais effectivement, mais c'est vrai qu'il y a quelque truc sympa. Ce qu'est marrant, c'est que je sais faire un tri à bulles, mais je connaissais même pas le terme "flag".
Qwerty111 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS EXCELF.A.Q EXCELTUTORIELS EXCELSOURCES EXCELOUTILS EXCELLIVRES EXCELOFFICE 2010

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 07h02.


Vos questions techniques : forum d'entraide Excel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.