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 :

Aide Excel VBA


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2019
    Messages : 4
    Par défaut Aide Excel VBA
    Bonjour à tous,

    Dans un premier temps, merci d'avance pour votre réponse.

    Voici mon problème :

    J'ai un onglet excel appelé "Formalisme RTE vierge"

    La finalité est de pouvoir générer les livrables en PDF suivant un choix fait par l'utilisateur, exemple : Ex : Générer Portée 51-52.
    Ici 51 = Support Gauche (Onglet "TABLEAU DE BORD", colonne B)
    Ici 52 = Support Droite (Onglet "TABLEAU DE BORD", colonne H)

    I - Voila la méthodologie que j'ai pour y arriver ;

    1-Choix de la portée à calculer ( Défini par l'utilisateur, dans l'exemple 51-52), en liste déroulante par exemple.

    Partie MACRO

    2-Copier-coller la feuille de calcul vierge ("Formalisme RTE vierge")
    3-Copier-coller la première valeur choisi par l'utilisateur ( dans notre exemple 51, dans l'onglet "Formalisme RTE vierge" en cellule H2.
    4-Renommer le nom de l'onglet (Dans l'exemple "Portée 51-52") + Générer cet onglet en PDF
    5-Passer à la Portée suivante (celle défini par l'utilisateur) et s'il il y a pas de valeurs à la suite on s’arrête sinon on continue.


    Merci énormément pour le temps pris pour me répondre à ma question.

    Bien Cordialement,

    Yurushi
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Bonjour,

    pour des raisons de sécurité, je ne peux télécharger ton fichier xlsm, aussi si tu peux nous fournir le code VBA utilisé pour le moment, ca serait top.

    De plus, je ne vois pas de question dans ta description, lequel des points que tu donnes te poses actuellement un soucis ? Quels ont été tes tests ou tes idées pour le résoudre ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2019
    Messages : 4
    Par défaut
    Bonjour,
    Tout d’abord merci de ta réponse, je vois que j’ai oublié quelques détails.
    Tout d’abord voila la macro que j’utilise actuellement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub CopierForRTEvierge()
    '
    ' CopierForRTEvierge Macro
    '
     
    '
        Sheets("Formalisme RTE Vierge").Select
        Sheets("Formalisme RTE Vierge").Copy After:=Sheets(9)
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub CopierpremiereValeur()
    '
    ' CopierpremiereValeur Macro
    '
     
    '
        Range("H2").Select
        ActiveCell.FormulaR1C1 = "='TABLEAU DE BORD'!R[10]C[22]"
        Range("H3").Select
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub onglet()
    ActiveSheet.Name = Range("A1")
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub General()
    Call CopierForRTEvierge
    Call CopierpremiereValeur
    Call onglet
    End Sub
    Elle permet dans un premier temps de copier un onglet, ensuite cette macro permet de copier la première valeur définie par utilisateur dans l’onglet précédemment copier, pour ensuite renommer cet onglet.

    Et pour revenir à mon souci c’est le suivant :

    Je n’arrive pas à intégrer un système de boucle dans mon VBA pour réaliser les étapes présente dans la macro (Copier onglet, intégration première valeur et renommage) par rapport à des données définis par l’utilisateur.
    Pour résumé, l’utilisateur renseigne des données ( par exemple Portée 51-52 puis 52-53 voir plus)
    Et j’aimerais que ma macro intègre un bouclage (ou autre chose je n’m’y connais pas très bien) pour réaliser le système déjà présent dans ma macro suivant les choix de l’utilisateur.
    Faire d’abord 51-52 et si l’utilisateur à renseigner d’autre valeur (Ex : 52-53) continuer le calcul sinon on s’arrête.

    Merci de ta réponse,
    Cordialement
    Fichiers attachés Fichiers attachés

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2019
    Messages : 4
    Par défaut
    Bonjour à tous,

    J'ai revu ma méthodologie pour bien expliquer le résultat souhaité.

    Le fichier correspondant est en pièce jointe.

    Voici la démarche que j’ai pensé :

    I - Données définis par l’utilisateur : Dans l’exemple ci-joint « 51 » au « 56 » (Utilisateur renseigne ces données dans l’onglet « ParamètresImpression ».

    (On retrouve les données ci-dessus (51 au 56) dans l’onglet « TABLEAU DE BORD » en colonne B)

    1- Sélectionner l’onglet « ParamètresImpression »
    2- Sélection cellule C3 (Garder en mémoire le numéro de ligne qui correspond ► Cellule E3)
    3- Copier-coller l’onglet « Formalisme RTE Vierge »
    4- Sélection Onglet « Formalisme RTE vierge » (celle copier)
    5- Intégrer la valeur C3 dans la cellule H2 (Support gauche)
    6- Ensuite passer à la ligne suivante (numéro de ligne 14 pour la donnée 52)
    7- Récupérer la valeur 52 (Onglet « TABLEAU DE BORD » Colonne B) par rapport au numéro de ligne. (Je pense que pour récupérer la donnée 52 on peut faire « Numéro de ligne précédent +1, mais je m’y connais pas assez)
    8- Copier-coller l’onglet Formalisme RTE Vierge
    9- Intégrer la valeur 52 dans la cellule H2 de l’onglet précédemment copier (Support gauche)
    10- Refaire le schéma de la partie qui varie (Etape 6 à 9) jusqu’à 56 pour ce cas, mais j’aimerais avoir la possibilité que cette donnée varie. (Mais cette donnée se trouve obligatoirement dans l’onglet « Tableau de bord » colonne B)
    En tout cas je vous remercie grandement pour votre aide.

    Bien cordialement,

    Julien
    Fichiers attachés Fichiers attachés

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Visiblement, tu n'as pas lu ou pas compris la réponse de Jean-Philippe André ( ).

    Pour être plus clair :
    Beaucoup de participants à ce forum n'ouvrent pas les fichiers joints, entre autre pour les raisons expliquées dans ce lien : https://www.developpez.net/forums/d8...s-discussions/
    De plus, ce forum n'a pas pour vocation de faire ton travail à ta place, comme expliqué dans les règles du forum : http://club.developpez.com/regles/#LIV-N

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2019
    Messages : 4
    Par défaut
    Bonjour,

    Je comprends bien je demande simplement des explications ou des axes que je pourrais explorer car je suis novices dans le VBA.

    La partie qui me pose problème est la suivante :

    -Refaire le schéma de la partie qui varie (Etape 6 à 9) jusqu’à 56 pour ce cas, mais j’aimerais avoir la possibilité que cette donnée varie. (Mais cette donnée se trouve obligatoirement dans l’onglet « Tableau de bord » colonne B)

    J'ai pensé à ça mais je sais pas si cela convient pour trouver la valeur renseigner par l'utilisateur puis l'intégrer dans une cellule.


    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
    Sub test 
     
    Dim numérodeligne As integrer 
     
    (Afficher onglet "ParamètresImpression") 
     
    numerodeligne = range (E3) 
     
     
    While numerodeligne <= range(E5) 
     
    Numerodeligne = numerodeligne +1 
     
    Wend 
     
    End Sub
    Cordialement,

    Désolé pour l'interprétation du message, c'était pas mon intention.

    Julien

  7. #7
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 680
    Par défaut
    Bonjour,

    Si tu es novice, commencé par la boucle me semble une mauvaise idée, essaye déjà de faire les choses bien une fois avant de vouloir le faire X fois.
    Il existe de très bon tuto sur le site pour t'aider à commencer.

    1- Sélectionner l’onglet « ParamètresImpression »
    2- Sélection cellule C3 (Garder en mémoire le numéro de ligne qui correspond ► Cellule E3)
    3- Copier-coller l’onglet « Formalisme RTE Vierge »
    4- Sélection Onglet « Formalisme RTE vierge » (celle copier)
    5- Intégrer la valeur C3 dans la cellule H2 (Support gauche)
    6- Ensuite passer à la ligne suivante (numéro de ligne 14 pour la donnée 52)
    7- Récupérer la valeur 52 (Onglet « TABLEAU DE BORD » Colonne B) par rapport au numéro de ligne. (Je pense que pour récupérer la donnée 52 on peut faire « Numéro de ligne précédent +1, mais je m’y connais pas assez)
    8- Copier-coller l’onglet Formalisme RTE Vierge
    9- Intégrer la valeur 52 dans la cellule H2 de l’onglet précédemment copier (Support gauche)
    10- Refaire le schéma de la partie qui varie (Etape 6 à 9) jusqu’à 56 pour ce cas, mais j’aimerais avoir la possibilité que cette donnée varie. (Mais cette donnée se trouve obligatoirement dans l’onglet « Tableau de bord » colonne B)
    L'enregistreur de macro peux te donner une bonne partie du code.
    Cependant en vba tu n'as pas besoin de sélectionner une cellule pour en copier la valeur

  8. #8
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Yurushi Voir le message
    des axes que je pourrais explorer car je suis novices dans le VBA.
    Dans ce cas, je te recommande d'étudier les bases de ce langage. http://bidou.developpez.com/article/VBA/

    Un langage n'est pas comme un jeu video que l'on peut apprendre uniquement à l'usage.
    Tu ne pourras pas te contenter de récupérer ce qui sort de l'enregistreur automatique de macro et de quelques bouts de codes récupérés sur le net.

    -Refaire le schéma de la partie qui varie (Etape 6 à 9) jusqu’à 56 pour ce cas, mais j’aimerais avoir la possibilité que cette donnée varie. (Mais cette donnée se trouve obligatoirement dans l’onglet « Tableau de bord » colonne B)
    Cette demande n'est pas compréhensible sans ouvrir le fichier joint (voir ma réponse précédente).
    Mais si ton idée est de faire une boucle, en plus du document que je t'ai déjà recommandé, tu peux regarder ça : http://silkyroad.developpez.com/vba/boucles/

Discussions similaires

  1. Aide excel vba
    Par Roberto222 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/02/2019, 08h30
  2. [XL-2010] Aide Excel VBA formule
    Par jjigs dans le forum Excel
    Réponses: 1
    Dernier message: 30/10/2017, 14h20
  3. Aide Excel VBA formule
    Par jjigs dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/10/2017, 12h40
  4. Aide Excel+VBA/saisie de valeurs
    Par youlard dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/07/2008, 17h30
  5. [VBA-E] besoin d'aide excel et formulaire
    Par lolo_the_fripouille dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/04/2006, 07h11

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