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 :

Création de fichiers dans un dossier particulier de puis vba [XL-365]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2007
    Messages : 8
    Par défaut Création de fichiers dans un dossier particulier de puis vba
    Bonjour la forum, bonjour à tous,

    Bien que plutôt à l'aise avec le vba, je me trouve confrontée à un vrai souci.
    En effet, j'ai une application avec laquelle je créé des fichiers vendeurs chaque fin de mois.

    Le principe:
    Au moment de la création des fichiers, je dois mettre à jour la feuille récapitulatif
    Pour cela, j'ai un petit sous-programme:

    ws_Recapitulatif.Activate
    ps_Mois = "Février 2025"
    Range("H2").Value = ""
    Range("A2").Value = ps_Mois

    For zi_Nbr = 6 To 35
    Range("D" & zi_Nbr).Formula2R1C1 = "=IF(RC[-2]<>"""",'H:\Gestion Ventes\Travail\ " & ps_Mois & "[Vendeur" & Format(zi_Nbr - 5, "00") & ".xlsm]Mensuel'!R47C4,"""")"
    Next zi_Nbr

    C'est cette dernière formule qui me pose problème car voici le résultat sur la feuille Excel:

    =SI(B6<>"";'H:\Gestion Ventes\Travail\[ Février 2025[Vendeur01.xlsm]Mensuel] Février 2025[Vendeur01.xlsm]Me'!$D$47;"")
    au lieu de
    =SI(B6<>"";'H:\Gestion Ventes\Travail\[ Février 2025[Vendeur01.xlsm]Mensuel'!$D$47;"")

    Comme vous le voyez, j'ai des caractères ajoutés en fin de ligne => Février 2025[Vendeur01.xlsm]Me ???

    Je suis un peu désappointé.
    Merci par avance de l'aide que vous pourrer m'apporter.
    Respectueusement,

    Vincent

  2. #2
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 002
    Par défaut
    Hello,

    quand j'ai des doutes sur une formule à mettre dans une cellule via VBA, je met la formule dans Excel (et vérifie que j'ai le bon résultat ), et j'affiche son contenu avec Range("A1").Formula ou FormulaR1C1 dans votre cas ; en général ça me donne pas mal d'indices sur ce que je dois mettre dans le VBA

    Edit : vous avez de crochets "[" et "]" dans vos noms de dossiers ? Le nom du fichier est " Février 2025[Vendeur01.xlsm" ? ça me semble très bizarre cette syntaxe
    JièL
    Membre des AMIS
    Anti Macro Inutilement Superfétatoire

  3. #3
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2007
    Messages : 8
    Par défaut
    Citation Envoyé par Nain porte koi Voir le message
    Hello,

    quand j'ai des doutes sur une formule à mettre dans une cellule via VBA, je met la formule dans Excel (et vérifie que j'ai le bon résultat ), et j'affiche son contenu avec Range("A1").Formula ou FormulaR1C1 dans votre cas ; en général ça me donne pas mal d'indices sur ce que je dois mettre dans le VBA

    Edit : vous avez de crochets "[" et "]" dans vos noms de dossiers ? Le nom du fichier est " Février 2025[Vendeur01.xlsm" ? ça me semble très bizarre cette syntaxe
    Alors, auparavant, le fichier "Récapitulatif.xlsm" était indépendant. J'ai regoupé les fichiers dans le fichier principal.
    Du coup, ma formule doit évoluée.

    J'ai essayé de coller la formule dans la cellule mais excel la refuse:
    J'ai créé cette application il y a plus de 10 ans et j'ai décidé de le mettre à jour en regroupant les 4 fichiers initiaux:
    Gestion_Ventes
    Gestion_Objectifs
    Gestion_Produits
    Gestion_Recapitulatif

    Tout fonctionne parfaitement sauf la génération des fichiers

    Merci beaucoup pour votre réponse.
    Respectueusement,
    Vincent

  4. #4
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 474
    Par défaut
    Bonjour à tous,
    Peut-être en utilisant INDIRECT.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        With Feuil1 ' A PARAMETRER !!!
            Dim zi_Nbr As Long
            For zi_Nbr = 6 To 35
                .Range("D" & zi_Nbr).Formula2R1C1 = "=IF(RC[-2]<>"""",INDIRECT(""'H:\Gestion Ventes\Travail\" & ps_Mois & "[Vendeur" & Format(zi_Nbr - 5, "00") & ".xlsm]Mensuel'!R47C4""),"""")"
            Next zi_Nbr
        End With
    ps. Penser à remplacer Feuil1 par le nom de code de la feuille concernée.
    Jean-Paul sous Office 365 et Windows 10/11 (Intel I7 16Go)

    Si vous avez trouvé réponse à votre question penser à la passer en :resolu: Vous avez aimé la discussion alors un :plusser: fait toujours plaisir.
    Le savoir n'a de valeur que s'il est partagé.
    La vérité de demain se nourrit de l'erreur d'hier. Antoine de Saint-Exupéry

  5. #5
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2007
    Messages : 8
    Par défaut
    Citation Envoyé par Valtrase Voir le message
    Bonjour à tous,
    Peut-être en utilisant INDIRECT.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        With Feuil1 ' A PARAMETRER !!!
            Dim zi_Nbr As Long
            For zi_Nbr = 6 To 35
                .Range("D" & zi_Nbr).Formula2R1C1 = "=IF(RC[-2]<>"""",INDIRECT(""'H:\Gestion Ventes\Travail\" & ps_Mois & "[Vendeur" & Format(zi_Nbr - 5, "00") & ".xlsm]Mensuel'!R47C4""),"""")"
            Next zi_Nbr
        End With
    ps. Penser à remplacer Feuil1 par le nom de code de la feuille concernée.
    Bonjour Valtrase
    Merci beaucoup pour votre solution qui foncitonne parfaitement.
    Merci également à Nain Porte Koi

    Cette question est résolue ainsi.

    Respectueusemenent,
    Vincent

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/11/2010, 10h48
  2. [Upload] upload de fichier dans un dossier creer en ligne
    Par jeanfrancois dans le forum Langage
    Réponses: 1
    Dernier message: 20/03/2006, 15h09
  3. Réponses: 1
    Dernier message: 16/02/2006, 09h50
  4. Réponses: 7
    Dernier message: 05/01/2006, 02h06
  5. Pb de comptage de fichiers dans un dossier
    Par oz80 dans le forum Access
    Réponses: 2
    Dernier message: 15/11/2005, 15h26

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