Aide macro
Résolu
Gwen59000
Messages postés
51
Date d'inscription
Statut
Membre
Dernière intervention
-
tompols Messages postés 1273 Date d'inscription Statut Contributeur Dernière intervention -
tompols Messages postés 1273 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un classeur excel (\\Serveur3\dserveur\Récapitulatif Clients Lesquin\Base de données\Données Affrètement\Base de données Affrètement.xls) dans lequel se trouve ma liste de clients dans la Feuil2 de la cellule C3 à la cellule C1001.
Je recherche une macro pouvant copier le classeur (\\Serveur3\dserveur\Récapitulatif Clients Lesquin\Notes Affrètement\Modèle.xls) et le renommer dans le même répertoire par le nom du client dans le classeur précédent en C3 et ainsi de suite tout jusqu'au client en C1001 tout en sachant que s'il existe déjà abandonner et passer au suivant.
Merci pour votre aide,
Gwénaël
J'ai un classeur excel (\\Serveur3\dserveur\Récapitulatif Clients Lesquin\Base de données\Données Affrètement\Base de données Affrètement.xls) dans lequel se trouve ma liste de clients dans la Feuil2 de la cellule C3 à la cellule C1001.
Je recherche une macro pouvant copier le classeur (\\Serveur3\dserveur\Récapitulatif Clients Lesquin\Notes Affrètement\Modèle.xls) et le renommer dans le même répertoire par le nom du client dans le classeur précédent en C3 et ainsi de suite tout jusqu'au client en C1001 tout en sachant que s'il existe déjà abandonner et passer au suivant.
Merci pour votre aide,
Gwénaël
A voir également:
- Aide macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro maker - Télécharger - Divers Utilitaires
- Macro word - Guide
15 réponses
Bonjour,
la macro doit-elle juste créer une copie du fichier modele ou également inserer des données dans ce fichier ?
la macro doit-elle juste créer une copie du fichier modele ou également inserer des données dans ce fichier ?
Re,
tu peux essayer comme ceci:
tu peux essayer comme ceci:
Sub crea_fichiers() Set fso = CreateObject("Scripting.FileSystemObject") For Each c In Sheets(1).Range("C3:C1001") ficdest = "\\Serveur3\dserveur\Récapitulatif Clients Lesquin\Notes Affrètement\" & CStr(c.Value) & ".xls" If Not fso.FileExists(pficdest) Then fso.CopyFile "\\Serveur3\dserveur\Récapitulatif Clients Lesquin\Notes Affrètement\Modèle.xls", ficdest End If Next c End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
autant pour moi (j'avais fais des tests avec ma feuille 1):
For Each c In Sheets(1).Range("C3:C1001") à remplacer par :
For Each c In Sheets(2).Range("C3:C1001")
autant pour moi (j'avais fais des tests avec ma feuille 1):
For Each c In Sheets(1).Range("C3:C1001") à remplacer par :
For Each c In Sheets(2).Range("C3:C1001")
Re
la j'ai un message d'erreur : erreur d'execution '5' : argument ou appel de procedure incorrect.
ligne soulignee : fso.CopyFile "\\Serveur3\dserveur\Récapitulatif Clients Lesquin\Notes Affrètement\Modèle.xls", ficdest
Merci pour le temps que tu me consacres,
la j'ai un message d'erreur : erreur d'execution '5' : argument ou appel de procedure incorrect.
ligne soulignee : fso.CopyFile "\\Serveur3\dserveur\Récapitulatif Clients Lesquin\Notes Affrètement\Modèle.xls", ficdest
Merci pour le temps que tu me consacres,
Re,
cela pourrait etre du à un nom non-conforme dans ta plage C3:C1001, pourrais-tu stp mettre un exemple de fichier sur cjoint.com et poster le lien (un fichier avec juste les valeurs en C suffirait pour tester) ? sans pouvoir tester c'est difficle de trouver d'où vient l'erreur....
cela pourrait etre du à un nom non-conforme dans ta plage C3:C1001, pourrais-tu stp mettre un exemple de fichier sur cjoint.com et poster le lien (un fichier avec juste les valeurs en C suffirait pour tester) ? sans pouvoir tester c'est difficle de trouver d'où vient l'erreur....
Re,
Je crois savoir, il y a des cellules vides ainsi que des noms de clients avec des caractères particuliers comme :
- * ; . etc..
Il y t'il un moyen de ne pas creer de ficher quand la cellule est vide et de ne pas tenir compte des caractères spéciaux ?
Je crois savoir, il y a des cellules vides ainsi que des noms de clients avec des caractères particuliers comme :
- * ; . etc..
Il y t'il un moyen de ne pas creer de ficher quand la cellule est vide et de ne pas tenir compte des caractères spéciaux ?
Re,
Pour les cellules vides c'est tres simple, il suffit de modifier le code comme ceci :
par contre pour ce qui est des caracteres spéciaux, tu devais avoir des noms de clients ds la plage, ce'st étrange.... je proposerais bien de nettoyer la plage excel avant mais ça effacerait les caractères interdits de ton fichier Excel, est-ce OK ?
Pour les cellules vides c'est tres simple, il suffit de modifier le code comme ceci :
Sub crea_fichiers() Set fso = CreateObject("Scripting.FileSystemObject") For Each C In Sheets(1).Range("C3:C1001") If Not IsEmpty(C) Then ficdest = "\\Serveur3\dserveur\Récapitulatif Clients Lesquin\Notes Affrètement\" & CStr(C.Value) & ".xls" If Not fso.FileExists(pficdest) Then fso.CopyFile "\\Serveur3\dserveur\Récapitulatif Clients Lesquin\Notes Affrètement\Modèle.xls", ficdest End If End If Next C End Sub
par contre pour ce qui est des caracteres spéciaux, tu devais avoir des noms de clients ds la plage, ce'st étrange.... je proposerais bien de nettoyer la plage excel avant mais ça effacerait les caractères interdits de ton fichier Excel, est-ce OK ?
Re,
Voici quelques un de mes clients en exemple :
A.D.C.
BROWAEYS-BRAME
CALLENS & LESAGE
D.H.L. FREIGHT (FRANCE)
ELBOMA - KOMA
Le problème est que d'autres de mes classeurs utilisent cette même colonne, donc si je change ces noms mes autres fichiers seront inutiles.
je crois bien qu'il va falloir que j'abandonne ce projet
Voici quelques un de mes clients en exemple :
A.D.C.
BROWAEYS-BRAME
CALLENS & LESAGE
D.H.L. FREIGHT (FRANCE)
ELBOMA - KOMA
Le problème est que d'autres de mes classeurs utilisent cette même colonne, donc si je change ces noms mes autres fichiers seront inutiles.
je crois bien qu'il va falloir que j'abandonne ce projet
Re,
en fait ça dépend, si un fichier avec le nom sans le caractere qui coince ne te gene pas, on peut modifier le code....les caractères non-autorisés pour les noms de fichiers sont : / \ : * ? " < > |
en fait ça dépend, si un fichier avec le nom sans le caractere qui coince ne te gene pas, on peut modifier le code....les caractères non-autorisés pour les noms de fichiers sont : / \ : * ? " < > |
Re,
Si mon fichier dans la feuille 2 colonne c3 à c1001 n'est pas modifié et que c'est seulement les noms donnés aux fichiés dans le répertoire notes, c'est parfait !
Si mon fichier dans la feuille 2 colonne c3 à c1001 n'est pas modifié et que c'est seulement les noms donnés aux fichiés dans le répertoire notes, c'est parfait !
Re,
comme ça ça devrait le faire, on traite juste le nom de fichier, pas de modif de la cellule excel :
comme ça ça devrait le faire, on traite juste le nom de fichier, pas de modif de la cellule excel :
Sub crea_fichiers() Set fso = CreateObject("Scripting.FileSystemObject") For Each C In Sheets(1).Range("C3:C1001") If Not IsEmpty(C) Then ficdest = "\\Serveur3\dserveur\Récapitulatif Clients Lesquin\Notes Affrètement\" & ConvertToFilename(CStr(C.Value)) & ".xls" If Not fso.FileExists(pficdest) Then fso.CopyFile "\\Serveur3\dserveur\Récapitulatif Clients Lesquin\Notes Affrètement\Modèle.xls", ficdest End If End If Next C End Sub Function ConvertToFilename(ByVal fname As String) fname = Replace(fname, "/", "") fname = Replace(fname, "\", "") fname = Replace(fname, ":", "") fname = Replace(fname, "*", "") fname = Replace(fname, "?", "") fname = Replace(fname, """", "") fname = Replace(fname, "<", "") fname = Replace(fname, ">", "") fname = Replace(fname, "|", "") ConvertToFilename = fname End Function
C'est absolument parfait, Bravo et merci encore.
Te sers tu d'un bouquin pour toutes ces lignes de codes? En existe t'il avec des exemples de lignes en fonction
de différents cas ?
A+
Te sers tu d'un bouquin pour toutes ces lignes de codes? En existe t'il avec des exemples de lignes en fonction
de différents cas ?
A+
Re,
de rien :)
pour ce qui est des bouquins, oui j'en ai utilisé au début, un pour m'initier (tres leger, genre enregistrement automatique de macros et compréhension des "basiques", mais je ne connaissais pas du tout la programmation encore) puis un qui était un peu plus "poussé"...mais bon maintenant c juste l'expérience, l'utilisation de l'aide vba (la touche F1 est mon amie) et quelques recherches sur google :)...
de rien :)
pour ce qui est des bouquins, oui j'en ai utilisé au début, un pour m'initier (tres leger, genre enregistrement automatique de macros et compréhension des "basiques", mais je ne connaissais pas du tout la programmation encore) puis un qui était un peu plus "poussé"...mais bon maintenant c juste l'expérience, l'utilisation de l'aide vba (la touche F1 est mon amie) et quelques recherches sur google :)...