Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
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 25/11/2011, 14h31   #1
Membre régulier
 
Avatar de isarian
 
Développeur informatique
Inscription : février 2005
Messages : 249
Détails du profil
Informations personnelles :
Âge : 31

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 249
Points : 73
Points : 73
Envoyer un message via MSN à isarian
Par défaut Création Répertoire Mystère

Bonjour, je me permets de venir vers vous car je ne comprends pas mon erreur.

J'ai fait une macro qui fonctionne, cette macro doit versifier l'existence d'un répertoire et le crée si jamais il ne s'y trouve pas.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
Dim mypath as string
dim myname as string
 
mypath = "c:\test"
 
if (myname= dir(mypath, vbdirectory)) = vbempty then
   msgbox "le repertoire existe"
else 
   msgbox "le repertoire n'existe pas"
   mkdir "c:\test"
end if
end sub
et je me suis basé sur ce code dans un bouton d'un formulaire. Le souci est qu'il passe toujours à la parti "else" que le répertoire soit crée ou non.

La finalité de ce code devrait donc vérifier l'existence du répertoire et y sauver le fichier en question.

Merci de votre aide

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Private Sub CommandButton1_Click()
 
    Dim OutApp, OutMail As Object
    Dim mareponse, titreobjet, corpstext, titrefichier As String
    Dim Compteur, erreur, Compteur2 As Integer
    Dim NomRep As String
    Dim myName As String
    Dim chefservice, seccom As String
    Dim Mailto, Mailcc As String
    Dim prenom, nom As String
 
     erreur = 0
    ChangeFileOpenDirectory "c:\"
    'Sauvegarde du fichier
    titrefichier = Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & " - " & Environ("USERNAME") & ".doc"
 
    NomRep = "c:\test"
 
    If (myName = Dir(NomRep, vbDirectory)) = vbEmpty Then 'on teste l'existence du répertoire...
         MsgBox "Le répertoire existe!"
     Else
        Debug.Print myName
        MsgBox "Le répertoire n'existe pas!"
        MkDir "C:\test"
 
    End If
 
End sub
isarian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2011, 15h33   #2
Membre régulier
 
Avatar de isarian
 
Développeur informatique
Inscription : février 2005
Messages : 249
Détails du profil
Informations personnelles :
Âge : 31

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 249
Points : 73
Points : 73
Envoyer un message via MSN à isarian
Voilà j'essaie avec ceci ca a l'air de marcher mais pas pour la sauvegarde du fichier

Je comprends pas pourquoi cela ne sauve pas dans le dossier cible.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
    ChangeFileOpenDirectory "c:\"
    'Sauvegarde du fichier
    titrefichier = Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & " - " & Environ("USERNAME") & ".doc"
     NomRep = "c:\test"
 
 If (myName = Dir(NomRep, vbDirectory)) = vbEmpty Then 'on teste l'existence du répertoire...
        Debug.Print myName
        MsgBox "Le répertoire existe!"
        ChangeFileOpenDirectory "c:\test"
        ActiveDocument.SaveAs FileName:=titrefichier
    Else
        Debug.Print myName
        MsgBox "Le répertoire n'existe pas!"
        FileSystem.MkDir ("C:\Bordereau de Pointage")
        ChangeFileOpenDirectory ("c:\test")
        ActiveDocument.SaveAs FileName:=titrefichier
    End If
isarian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2011, 22h29   #3
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 343
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 343
Points : 29 254
Points : 29 254
Salut,

J'ai utilisé ton code et je ne rencontre pas de problème.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub Olivier()
Dim mypath As String, NomRep As String
Dim titreFichier As String
 
mypath = "c:\temp\ola"
 
   titreFichier = Format(Date, "yymmdd") & " - " & Environ("USERNAME") & ".docm"
     NomRep = "c:\temp\ola"
 
 If (myName = Dir(NomRep, vbDirectory)) = vbEmpty Then 'on teste l'existence du répertoire...
        Debug.Print myName & " -- Le répertoire existe!"
        'ChangeFileOpenDirectory "c:\test"
        ActiveDocument.SaveAs FileName:=mypath & "\" & titreFichier
    Else
        Debug.Print myName & " -- Le répertoire n'existe pas!"
        FileSystem.MkDir ("C:\Bordereau de Pointage")
        'ChangeFileOpenDirectory ("c:\test")
        ActiveDocument.SaveAs FileName:=mypath & "\" & titreFichier
    End If
End Sub
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 09h56   #4
Membre régulier
 
Avatar de isarian
 
Développeur informatique
Inscription : février 2005
Messages : 249
Détails du profil
Informations personnelles :
Âge : 31

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 249
Points : 73
Points : 73
Envoyer un message via MSN à isarian
Oui je n'ai pas compris non plus, cela a marché pendant toute une période, et puis plus rien et ensuite à nouveau cela remarche.

DOnc maintenante cela fonction j'y touche plus.

Merci
isarian est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h24.


 
 
 
 
Partenaires

Hébergement Web