Bonjour à tous, et merci d'avance pour vos réponses...
Bon alors voilà, je dois faire en sorte avec un macro de créer un répertoire
a l'aide de renseignements situés dans une feuille excel.
J'arrive à créer le répertoire avec un nom fixe grâce à cette macro :
Sub creation_rep_2()
Dim fso ' As Scripting.FileSystemObject
Dim fd ' As Scripting.Folder
Dim sFolderName ' As String
' Initialisation du nom du dossier
sFolderName = "J:\DOSSIER A\Dossier 1\NomPrénomAdresseCPVille"
Set fso = CreateObject("Scripting.FileSystemObject")
' Vérifier que le dossier à créer n'existe pas
If Not fso.FolderExists(sFolderName) Then
' Créer le dossier.
Set fd = fso.CreateFolder(sFolderName)
MsgBox "Le dossier " & sFolderName & " a été créé"
Else
MsgBox "Le dossier " & sFolderName & " existe déjà!"
End If
Shell "explorer.exe J:\DOSSIER A\Dossier 1", vbNormalFocus
End Sub
Bon jusqu'ici ok mais là où je rame, c'est pour prendre des infos dans une
feuille excel et faire en sorte de les intégrer directement dans le nom du
dossier lors de sa création...
Dans cette feuille excel, se trouve un tableau avec le nom prenom des
personnes avec leur adresse CP et ville.
Comment faire en sorte alors pour utiliser ces infos et créer autant de
dossier que de ligne présente (en règle générale, 15 lignes seront utilisées
!) ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JB
Bonjour,
For Each c In [A1:A3] On Error Resume Next MkDir "c:" & c If Err > 0 Then MsgBox c & " existe" End If Next
JB http://boisgontierjacques.free.fr
On 11 mai, 16:37, AF86 wrote:
Bonjour à tous, et merci d'avance pour vos réponses...
Bon alors voilà, je dois faire en sorte avec un macro de créer un r épertoire a l'aide de renseignements situés dans une feuille excel.
J'arrive à créer le répertoire avec un nom fixe grâce à cette m acro : Sub creation_rep_2() Dim fso ' As Scripting.FileSystemObject Dim fd ' As Scripting.Folder Dim sFolderName ' As String ' Initialisation du nom du dossier sFolderName = "J:DOSSIER ADossier 1NomPrénomAdresseCPVille " Set fso = CreateObject("Scripting.FileSystemObject") ' Vérifier que le dossier à créer n'existe pas If Not fso.FolderExists(sFolderName) Then ' Créer le dossier. Set fd = fso.CreateFolder(sFolderName) MsgBox "Le dossier " & sFolderName & " a été créé" Else MsgBox "Le dossier " & sFolderName & " existe déjà!" End If Shell "explorer.exe J:DOSSIER ADossier 1", vbNormalFocus End Sub
Bon jusqu'ici ok mais là où je rame, c'est pour prendre des infos dan s une feuille excel et faire en sorte de les intégrer directement dans le nom du dossier lors de sa création...
Dans cette feuille excel, se trouve un tableau avec le nom prenom des personnes avec leur adresse CP et ville.
Comment faire en sorte alors pour utiliser ces infos et créer autant de dossier que de ligne présente (en règle générale, 15 lignes seron t utilisées !) ?
Merci d'avance pour vos réponses ;-)
Bonjour,
For Each c In [A1:A3]
On Error Resume Next
MkDir "c:" & c
If Err > 0 Then
MsgBox c & " existe"
End If
Next
JB
http://boisgontierjacques.free.fr
On 11 mai, 16:37, AF86 <A...@discussions.microsoft.com> wrote:
Bonjour à tous, et merci d'avance pour vos réponses...
Bon alors voilà, je dois faire en sorte avec un macro de créer un r épertoire
a l'aide de renseignements situés dans une feuille excel.
J'arrive à créer le répertoire avec un nom fixe grâce à cette m acro :
Sub creation_rep_2()
Dim fso ' As Scripting.FileSystemObject
Dim fd ' As Scripting.Folder
Dim sFolderName ' As String
' Initialisation du nom du dossier
sFolderName = "J:DOSSIER ADossier 1NomPrénomAdresseCPVille "
Set fso = CreateObject("Scripting.FileSystemObject")
' Vérifier que le dossier à créer n'existe pas
If Not fso.FolderExists(sFolderName) Then
' Créer le dossier.
Set fd = fso.CreateFolder(sFolderName)
MsgBox "Le dossier " & sFolderName & " a été créé"
Else
MsgBox "Le dossier " & sFolderName & " existe déjà!"
End If
Shell "explorer.exe J:DOSSIER ADossier 1", vbNormalFocus
End Sub
Bon jusqu'ici ok mais là où je rame, c'est pour prendre des infos dan s une
feuille excel et faire en sorte de les intégrer directement dans le nom du
dossier lors de sa création...
Dans cette feuille excel, se trouve un tableau avec le nom prenom des
personnes avec leur adresse CP et ville.
Comment faire en sorte alors pour utiliser ces infos et créer autant de
dossier que de ligne présente (en règle générale, 15 lignes seron t utilisées
!) ?
For Each c In [A1:A3] On Error Resume Next MkDir "c:" & c If Err > 0 Then MsgBox c & " existe" End If Next
JB http://boisgontierjacques.free.fr
On 11 mai, 16:37, AF86 wrote:
Bonjour à tous, et merci d'avance pour vos réponses...
Bon alors voilà, je dois faire en sorte avec un macro de créer un r épertoire a l'aide de renseignements situés dans une feuille excel.
J'arrive à créer le répertoire avec un nom fixe grâce à cette m acro : Sub creation_rep_2() Dim fso ' As Scripting.FileSystemObject Dim fd ' As Scripting.Folder Dim sFolderName ' As String ' Initialisation du nom du dossier sFolderName = "J:DOSSIER ADossier 1NomPrénomAdresseCPVille " Set fso = CreateObject("Scripting.FileSystemObject") ' Vérifier que le dossier à créer n'existe pas If Not fso.FolderExists(sFolderName) Then ' Créer le dossier. Set fd = fso.CreateFolder(sFolderName) MsgBox "Le dossier " & sFolderName & " a été créé" Else MsgBox "Le dossier " & sFolderName & " existe déjà!" End If Shell "explorer.exe J:DOSSIER ADossier 1", vbNormalFocus End Sub
Bon jusqu'ici ok mais là où je rame, c'est pour prendre des infos dan s une feuille excel et faire en sorte de les intégrer directement dans le nom du dossier lors de sa création...
Dans cette feuille excel, se trouve un tableau avec le nom prenom des personnes avec leur adresse CP et ville.
Comment faire en sorte alors pour utiliser ces infos et créer autant de dossier que de ligne présente (en règle générale, 15 lignes seron t utilisées !) ?
Merci d'avance pour vos réponses ;-)
AF86
Bonjour, et merci pour ta réponse
J'ai été obligé de rajouter une cellule dans mon tableau avec la formule "concatener" pour que ça marche.
Comme ça, j'ai le Nom-Prénom-Adresse... qui se mettre directement dans le nom du dossier en prenant en compte plusieurs elements.
De plus, ton code est bien plus court, simple et rapide que le mien !
Je te remercie encore, réponse validée ! ;-)
"JB" a écrit :
Bonjour,
For Each c In [A1:A3] On Error Resume Next MkDir "c:" & c If Err > 0 Then MsgBox c & " existe" End If Next
JB http://boisgontierjacques.free.fr
Bonjour, et merci pour ta réponse
J'ai été obligé de rajouter une cellule dans mon tableau avec la formule
"concatener" pour que ça marche.
Comme ça, j'ai le Nom-Prénom-Adresse... qui se mettre directement dans le
nom du dossier en prenant en compte plusieurs elements.
De plus, ton code est bien plus court, simple et rapide que le mien !
Je te remercie encore, réponse validée ! ;-)
"JB" a écrit :
Bonjour,
For Each c In [A1:A3]
On Error Resume Next
MkDir "c:" & c
If Err > 0 Then
MsgBox c & " existe"
End If
Next
J'ai été obligé de rajouter une cellule dans mon tableau avec la formule "concatener" pour que ça marche.
Comme ça, j'ai le Nom-Prénom-Adresse... qui se mettre directement dans le nom du dossier en prenant en compte plusieurs elements.
De plus, ton code est bien plus court, simple et rapide que le mien !
Je te remercie encore, réponse validée ! ;-)
"JB" a écrit :
Bonjour,
For Each c In [A1:A3] On Error Resume Next MkDir "c:" & c If Err > 0 Then MsgBox c & " existe" End If Next
JB http://boisgontierjacques.free.fr
AF86
Re-bonjour et désolé mais après avoir intégré ton magnifique code dans ma macro, je me suis aperçu d'un petit problème.
Comme je te l'avais dit, je pense utiliser à chaque fois environ que les 15 premières lignes de mon tableau pour générer les dossiers avec les noms personnalisés. Ce que tu ne savait peut être pas, c'est qu'il peut y avoir au lieu des 15 lignes que 3 lignes ou bien 7 ou même dans certains cas 32 lignes qui serviront à générer ces petits dossiers.
Donc voici ma question : Comment faire comprendre à Excel qu'il faut arrêter la macro dès qu'il n'y a plus de données dans les lignes (ex : au bout de la 3e ou bien la 7e ou encore à la 32e lignes) ?
Merci d'avance pour ta réponse car si je laisse cela comme ça, la macro tourne jusqu'à la fin de toutes les lignes spécifiées.
"JB" a écrit :
Bonjour,
For Each c In [A1:A3] On Error Resume Next MkDir "c:" & c If Err > 0 Then MsgBox c & " existe" End If Next
JB http://boisgontierjacques.free.fr
Re-bonjour et désolé mais après avoir intégré ton magnifique code dans ma
macro, je me suis aperçu d'un petit problème.
Comme je te l'avais dit, je pense utiliser à chaque fois environ que les 15
premières lignes de mon tableau pour générer les dossiers avec les noms
personnalisés.
Ce que tu ne savait peut être pas, c'est qu'il peut y avoir au lieu des 15
lignes que 3 lignes ou bien 7 ou même dans certains cas 32 lignes qui
serviront à générer ces petits dossiers.
Donc voici ma question : Comment faire comprendre à Excel qu'il faut arrêter
la macro dès qu'il n'y a plus de données dans les lignes (ex : au bout de la
3e ou bien la 7e ou encore à la 32e lignes) ?
Merci d'avance pour ta réponse car si je laisse cela comme ça, la macro
tourne jusqu'à la fin de toutes les lignes spécifiées.
"JB" a écrit :
Bonjour,
For Each c In [A1:A3]
On Error Resume Next
MkDir "c:" & c
If Err > 0 Then
MsgBox c & " existe"
End If
Next
Re-bonjour et désolé mais après avoir intégré ton magnifique code dans ma macro, je me suis aperçu d'un petit problème.
Comme je te l'avais dit, je pense utiliser à chaque fois environ que les 15 premières lignes de mon tableau pour générer les dossiers avec les noms personnalisés. Ce que tu ne savait peut être pas, c'est qu'il peut y avoir au lieu des 15 lignes que 3 lignes ou bien 7 ou même dans certains cas 32 lignes qui serviront à générer ces petits dossiers.
Donc voici ma question : Comment faire comprendre à Excel qu'il faut arrêter la macro dès qu'il n'y a plus de données dans les lignes (ex : au bout de la 3e ou bien la 7e ou encore à la 32e lignes) ?
Merci d'avance pour ta réponse car si je laisse cela comme ça, la macro tourne jusqu'à la fin de toutes les lignes spécifiées.
"JB" a écrit :
Bonjour,
For Each c In [A1:A3] On Error Resume Next MkDir "c:" & c If Err > 0 Then MsgBox c & " existe" End If Next
JB http://boisgontierjacques.free.fr
isabelle
bonjour,
sélectionne la plage à traiter avant d'exécuter la macro et modifie la ligne suivante
For Each c In [A1:A3]
par
For Each c In Selection
isabelle
AF86 a écrit :
Re-bonjour et désolé mais après avoir intégré ton magnifique code dans ma macro, je me suis aperçu d'un petit problème.
Comme je te l'avais dit, je pense utiliser à chaque fois environ que les 15 premières lignes de mon tableau pour générer les dossiers avec les noms personnalisés. Ce que tu ne savait peut être pas, c'est qu'il peut y avoir au lieu des 15 lignes que 3 lignes ou bien 7 ou même dans certains cas 32 lignes qui serviront à générer ces petits dossiers.
Donc voici ma question : Comment faire comprendre à Excel qu'il faut arrêter la macro dès qu'il n'y a plus de données dans les lignes (ex : au bout de la 3e ou bien la 7e ou encore à la 32e lignes) ?
Merci d'avance pour ta réponse car si je laisse cela comme ça, la macro tourne jusqu'à la fin de toutes les lignes spécifiées.
"JB" a écrit :
Bonjour,
For Each c In [A1:A3] On Error Resume Next MkDir "c:" & c If Err > 0 Then MsgBox c & " existe" End If Next
JB http://boisgontierjacques.free.fr
bonjour,
sélectionne la plage à traiter avant d'exécuter la macro
et modifie la ligne suivante
For Each c In [A1:A3]
par
For Each c In Selection
isabelle
AF86 a écrit :
Re-bonjour et désolé mais après avoir intégré ton magnifique code dans ma
macro, je me suis aperçu d'un petit problème.
Comme je te l'avais dit, je pense utiliser à chaque fois environ que les 15
premières lignes de mon tableau pour générer les dossiers avec les noms
personnalisés.
Ce que tu ne savait peut être pas, c'est qu'il peut y avoir au lieu des 15
lignes que 3 lignes ou bien 7 ou même dans certains cas 32 lignes qui
serviront à générer ces petits dossiers.
Donc voici ma question : Comment faire comprendre à Excel qu'il faut arrêter
la macro dès qu'il n'y a plus de données dans les lignes (ex : au bout de la
3e ou bien la 7e ou encore à la 32e lignes) ?
Merci d'avance pour ta réponse car si je laisse cela comme ça, la macro
tourne jusqu'à la fin de toutes les lignes spécifiées.
"JB" a écrit :
Bonjour,
For Each c In [A1:A3]
On Error Resume Next
MkDir "c:" & c
If Err > 0 Then
MsgBox c & " existe"
End If
Next
sélectionne la plage à traiter avant d'exécuter la macro et modifie la ligne suivante
For Each c In [A1:A3]
par
For Each c In Selection
isabelle
AF86 a écrit :
Re-bonjour et désolé mais après avoir intégré ton magnifique code dans ma macro, je me suis aperçu d'un petit problème.
Comme je te l'avais dit, je pense utiliser à chaque fois environ que les 15 premières lignes de mon tableau pour générer les dossiers avec les noms personnalisés. Ce que tu ne savait peut être pas, c'est qu'il peut y avoir au lieu des 15 lignes que 3 lignes ou bien 7 ou même dans certains cas 32 lignes qui serviront à générer ces petits dossiers.
Donc voici ma question : Comment faire comprendre à Excel qu'il faut arrêter la macro dès qu'il n'y a plus de données dans les lignes (ex : au bout de la 3e ou bien la 7e ou encore à la 32e lignes) ?
Merci d'avance pour ta réponse car si je laisse cela comme ça, la macro tourne jusqu'à la fin de toutes les lignes spécifiées.
"JB" a écrit :
Bonjour,
For Each c In [A1:A3] On Error Resume Next MkDir "c:" & c If Err > 0 Then MsgBox c & " existe" End If Next