VBA mettre une fonction dans un IF

Fermé
JM - 24 juil. 2009 à 10:19
ben13.51 Messages postés 112 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 11 janvier 2012 - 24 juil. 2009 à 15:02
Bonjour,

comment faire pour mettre un sub dans un autre sub en VBA. je travaille sur Excel et je dois mettre dans une instruction IF une fonction.
Par exemple if .......
then lafonction

comment faire?
Merci

11 réponses

ben13.51 Messages postés 112 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 11 janvier 2012 7
24 juil. 2009 à 10:22
Salut,
Lorsque tu crée une fonction, tu lui donne un nom...
Sub NomDeLaFonction1()
...
End sub

Pour l'utiliser dans une autre fonction il suffit d'écrire son nom
Sub NomDeLaFonction2()
If... then
NomDeLaFonction1
end if
end sub

Et ça devrait marcher
0
ok merci beaucoup!!
0
j'ai un probleme que je n'arrive pas a resoudre,

en fait dans mon programme il faut saisir des fiches et cliquer un bouton pour dire que c'est complet et je voudrais que lorsque je clique le bouton, le fiche se deplace dans un dossier "fiches completes"

je ne sais pas si ca marche vu que la fiche sera ouverte, j'ai un code qui deplace une fiche mais je ne sais pas comment faire parce ke le probleme vient de la fiche ouverte je pense.

quelqu'un sait comment faire?
Merci
0
ben13.51 Messages postés 112 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 11 janvier 2012 7
24 juil. 2009 à 11:07
De quel type est ta fiche??
C'est un fichier excel entier?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jai pas compris ce que tu voulais dire par fichier excel entier.
c'est juste une fiche excel ou une feuille si tu preferes... .xls
0
ben13.51 Messages postés 112 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 11 janvier 2012 7
24 juil. 2009 à 11:30
Si la fiche que tu veux enregistrer est ouverte et qu'elle est affichée tu peu essayer ça:

ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\proprietaire\Mes documents\Classeur2.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False

Si tu remplace C:\... par le chemin de ton dossier fiche complète et classeur2 par le nom de ta fiche ça doit marcher
0
ok jvai essayer mais est-ce ke dans ce cas la elle est effacee de la ou elle etait??parce que je vuex qu'elle soit deplacée et pas copiée.
0
ben13.51 Messages postés 112 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 11 janvier 2012 7
24 juil. 2009 à 11:46
En fait c'est juste le code VBA pour "enregistrer sous"...
Si ta fiche est déjà enregistrée quelque part ya pas de problème elle ne sera pas déplacée.
Mais si tu veux sauver les modification que tu a fais avant ecris ce code avant celui que je t'ai envoyé

ActiveWorkbook.Save

ça enregistre dabord avant de faire "enregistrer sous"
0
ok merci!!:)
jvai voir ce que ca donne
0
comment faire pour que lorsqu'un clique sur un bouton on ait une boite de dialogue qui s'ouvre (la standard) pour choisir un fichier?
0
ben13.51 Messages postés 112 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 11 janvier 2012 7
24 juil. 2009 à 15:02
Sub OuvreFichier()

Dim NomFichier as string

NomFichier = InputBox("Entrez le nom du fichier à ouvrir")

Workbooks.Open Filename:= _
"C:\Documents and Settings\proprietaire\Mes documents\" & NomFichier & ".xls"

end sub

Il te suffit de remplacer le chemin par celui du dossier où se trouve les fichier à ouvrir
0