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 06/10/2011, 17h21   #1
Candidat au titre de Membre du Club
 
Inscription : octobre 2009
Messages : 32
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 32
Points : 11
Points : 11
Par défaut Adressage automatique excel

Bonjour à tous,

J'ai une question qui vous semblera sans doute toute bête mais qui me pourrit la vie depuis ce matin...

J'ai plusieurs fichiers excel qui se trouvent sur un serveur. Depuis un autre fichier excel, je voudrais pouvoir aller en chercher un en renseignant dans la cellule a1 le nom du fichier.

Une fois que le fichier est ouvert, je voudrais pouvoir faire des modifications avec VBA (déja codées tout va bien ) puis enregistrer le classeur dans un autre dossier en y ajoutant une mention spéciale au nom qui était contenu dans la cellule a1

en gros ça donnerait:

Code :
1
2
3
4
5
6
7
ChDir "\\serveur1\librairiexy\tartampion\niania\blabla"
    Workbooks.Open Filename:="\\serveur1\librairiexy\tartampion\niania\blabla\(valeur qu'il y a dans la cellule A1)"
 
 
With ActiveWorkbook
    .SaveAs Filename:="\\serveur1\librairiexy\tartampion\niania\traité\(valeur qu'il y a dans la cellule A1)&OK.xls"
    End With
Si quelqu'un pouvait m'aider !!

merci d'avance
julius999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2011, 17h43   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Code :
1
2
3
4
5
6
7
ChDir "\\serveur1\librairiexy\tartampion\niania\blabla"
    Workbooks.Open Filename:=[A1]
 
With ActiveWorkbook
    ChDir "..\traité" 
    .SaveAs Filename:=[A1] & "OK.xls"
    End With
Reste à savoir où se situe A1, sur quelle feuille, dans quel classeur ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/10/2011, 17h54   #3
Candidat au titre de Membre du Club
 
Inscription : octobre 2009
Messages : 32
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 32
Points : 11
Points : 11
Merci de votre réponse, la cellule A1 se trouve dans le fichier excel de "pilotage", celui avec lequel on lance la macro.
julius999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2011, 18h07   #4
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Il est peut-être préférable alors d'écrire :

Code :
1
2
3
4
5
6
7
8
9
10
Dim NomFichier as String
NomFichier=ThisWorkbook.Sheets("pilotage").[A1]
 
ChDir "\\serveur1\librairiexy\tartampion\niania\blabla"
    Workbooks.Open Filename:=NomFichier 
 
With ActiveWorkbook
    ChDir "..\traité" 
    .SaveAs Filename:=NomFichier & "OK.xls"
    End With
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2011, 12h39   #5
Modérateur
 
Avatar de AlainTech
 
Homme Alain Gerard
Consultant informatique
Inscription : mai 2005
Messages : 3 675
Détails du profil
Informations personnelles :
Nom : Homme Alain Gerard
Âge : 58
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : mai 2005
Messages : 3 675
Points : 7 668
Points : 7 668
Bonjour à tous,

Pour ma part, je n'aime pas les ChDir.

Une proposition:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub TraitementFichier()
 
  Dim strNomFichier As String
  Dim strSourcePath As String
  Dim wbkDest As Workbook
 
  strNomFichier = ThisWorkbook.Sheets("pilotage").[A1]
 
  strSourcePath = "\\serveur1\librairiexy\tartampion\niania\blabla"
  Set wbkDest = Workbooks.Open(Filename:=strSourcePath & "\" & strNomFichier)
  ' Traitement à faire dans le fichier
  wbkDest.SaveAs Filename:=strSourcePath & "\..\traité\" & strNomFichier & "OK.xls"
  wbkDest.Close
End Sub
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
AlainTech est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/10/2011, 11h14   #6
Candidat au titre de Membre du Club
 
Inscription : octobre 2009
Messages : 32
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 32
Points : 11
Points : 11
Merci beaucoup, en effet j'avais pas mal de soucis avec les chdir. Ca marche super du coup.

Je me permets de rajouter au fil de cette discussion la demande suivante qui me semble liée.

En lieu et place de faire écrire à l'utilisateur le nom du fichier avec un risque d'erreur conséquent, est-il envisageable d'ouvrir le "sélectionneur" et de simplement cliquer sur le (au mieux sélection multiple) des fichiers à traiter?

Belle journée
julius999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 12h31   #7
Membre Expert
 
Avatar de Jean-Pierre49
 
Homme J-Pierre Catherine
Conception Calcul
Inscription : juillet 2007
Messages : 659
Détails du profil
Informations personnelles :
Nom : Homme J-Pierre Catherine
Âge : 57
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Conception Calcul
Secteur : Industrie

Informations forums :
Inscription : juillet 2007
Messages : 659
Points : 1 856
Points : 1 856
Bonjour,

Regarde avec
__________________
Jean-Pierre Pensez à Voter pour les réponses qui vous ont aidés, d'avance merci
---------Et n'oubliez pas de mettre : ..quand c'est le cas !---------
Jean-Pierre49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 13h30   #8
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 685
Points : 4 685
Citation:
Envoyé par AlainTech Voir le message
Bonjour à tous,

Pour ma part, je n'aime pas les ChDir.
Pour info, peux-tu expliquer pourquoi ?

Pas de trace de lui dans mes codes, mais je ne sais pas pourquoi et rien dans mes notes techniques non plus.

Par contre est utilisé dans" Excel Utilities" de Rob Bovey et cité dans les tutos de Bidou...

j'aimerais bien lui mettre un drapeau rouge ou blanc finalement

cordialement,

Didier
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 06h40   #9
Modérateur
 
Avatar de AlainTech
 
Homme Alain Gerard
Consultant informatique
Inscription : mai 2005
Messages : 3 675
Détails du profil
Informations personnelles :
Nom : Homme Alain Gerard
Âge : 58
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : mai 2005
Messages : 3 675
Points : 7 668
Points : 7 668
Bonjour,

ChDir change le répertoire par défaut d'Excel.

J'ai déjà pu constater que ce répertoire par défaut peut être aléatoire en fonction de ce qui a été ouvert ou fermé.

Quoi qu'il en soit, je préfère travailler avec le modèle Objet d'Excel en définissant les classeurs, les feuilles, les Ranges, des collections...

Sur base de ce modèle objet, je pourrai facilement récupérer le Path d'un classeur, par exemple, même si j'ai laissé le choix à l'utilisateur de l'ouvrir où il veut.

Pour toutes les constantes qui pourraient évoluer comme un taux de TVA ou un chemin réseau, je crée une feuille Paramètres dans la quelle j'irai chercher ces constantes.

Ah oui, encore une chose:
Il est extrèmement rare que je mette données et programme dans un même classeur.
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
AlainTech est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 11/10/2011, 08h37   #10
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 685
Points : 4 685
Bonjour,

Ok, il fait ce pourquoi il est défini dans l'aide VBA, je craignais qu'il ai un comportement erratique...

cordialement,

Didier
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth 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 01h04.


 
 
 
 
Partenaires

Hébergement Web