IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Répertoire courant macro VBA et Save as [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 104
    Par défaut Répertoire courant macro VBA et Save as
    Bonjour tout le monde.

    Je reviens pour une petite question.

    J'ai un fichier excel CLASS1.xls contenant plusieurs macro, fichier qui est amené à etre balladé de dossier en dossier.

    Les macros de ce fichiers traite des fichiers csv à la base.

    Mes macros sont développés et tournent correctement , MAIS elle ne tournent que sur les formats xls. Ils faut donc que j'automatise également la conversion csv->xls.

    J'ai un petit code qui va bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.SaveAs , FileFormat:=xlNormal, CreateBackup:=False, local:=True
    mais voilà , je n'arrive pas à paramétrer le répértoire courant. Les fichiers sont enregistrés dans "MesDocumetns"

    quel petit code, au plus simple, pourrais je mettre en début de ma page de macro , pour que, quel que soit le dossier de travail, la conversion de fichier enregistre les fichiers dans le dossier ou la feuille CLASS1.xls est !

    je ne m'en sort pas des chdir et autre application.currentproject.path.

    par quel bout puis-je m'y prendre?

    d'avance merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Je ne suis pas certain de bien comprendre, mais il y a

    Chemin du programme maître
    ou
    Chemin du fichier actif

  3. #3
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Moi non plus, je ne suis pas certain de comprendre, mais essayes ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim chemin As String
    chemin = ActiveWorkbook.Path
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:= _
      chemin & "\" & ActiveWorkbook.Name, CreateBackup:=False
    Application.DisplayAlerts = True
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  4. #4
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 104
    Par défaut
    bonjour ,

    merci pour vos réponses.

    J'ai repris et adapté le code ci dessus et en le complétant un peu ça me donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.SaveAs Filename:=chemin & "\" & ActiveWorkbook.Name, FileFormat:=xlNormal, CreateBackup:=False
    Application.DisplayAlerts = True
    le changement de répertoire est bon, mais ça m'enregistre un nouveau CSV.

    du moins l'extension est en csv parceque les valeurs à l'intérieur sont modifiés.

    le cellule qui contient 0,002948 devient 002948;0.

    en fait je m'y prend peut etre mal mais j'aiemrais que cette virgule ( 0,002948) soit remplacé par un point(0.002948) pour pouvoir faire des opérations sur ces valeurs.

    Je pensais enregistrer le csv en xls pour résoudre ce problème, mais ça ne marche point apparement..

  5. #5
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour à tou(te)s, mattchoco

    Ne connaissant pas ton fichier, peut-être que tu pourras adapter cette proposition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Dim Tb, x As Long, y As Long
    Dim chemin As String
    With Sheets("nom de ta feuille")
      'je passe par une variable tableau (plus rapide) car je ne
      'connais pas la taille de ta feuille
      Tb = .Range("A2").CurrentRegion
      'en admettant que tes colonnes C et D contiennent des chiffres
      'la ligne 1 contient les entêtes
      .Range("C2:C" & UBound(Tb, 1)).NumberFormat = "0.00"
      .Range("D2:D" & UBound(Tb, 1)).NumberFormat = "0.00"
     
      For x = 2 To UBound(Tb, 1)
        For y = 3 To 4
          Tb(x, y) = Replace(Tb(x, y), ",", ".")
        Next y
      Next x
      .Range("A1").Resize(UBound(Tb, 1), UBound(Tb, 2)) = Tb 'Application.Transpose(Tb)
    End With
    chemin = ActiveWorkbook.Path
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:= _
      chemin & "\" & ActiveWorkbook.Name, CreateBackup:=False
    Application.DisplayAlerts = True
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  6. #6
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 104
    Par défaut
    bonjour,

    merci pour ce retour rapidede.

    cette solution me réenregistre un.csv?

    ici on procède par itération, n'y a-t-il pas une fonction qui change tout d'un coup?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 14/04/2015, 00h38
  2. [VBA] Excel- Save un document dans 2 répertoires différents
    Par altarez dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/01/2006, 22h32
  3. [SQL][MACRO VBA]Pb de syntaxe
    Par Stef.proxi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 11/08/2004, 09h11
  4. [JSP] Récupérer le répertoire courant
    Par dafly dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 10/06/2004, 11h01
  5. répertoire courant ".\"
    Par tut dans le forum MFC
    Réponses: 2
    Dernier message: 10/03/2004, 09h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo