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 :

Générer & Remplir des tableaux en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2013
    Messages : 2
    Par défaut Générer & Remplir des tableaux en VBA
    Bonjour à tous,
    N'ayant aucune connaissance en programmation VBA, je sollicite l'aide de vos membres afin de me débarrasser d'une tache répétitive que je réalise entre 30 à 150 fois par semaine et qui gâche très souvent mes vendredi soir. Je vous explique : j'ai un classeur excel qui s'appel SUIVIPM.xls et dans l'onglet "suiviPM", il y a toutes les informations concernant mes projets. Et pour chacun de ces projets, j'ai une fiche de MES à créer (depuis un model existant) et à fournir au client à la livraison. Ces classeurs doivent s'appeler "FICHE DE MES_REFERENCE.xls" et doivent contenir des informations qui se trouvent dans l'onglet suiviPM.xls (REFERENCE s'y trouve aussi).
    Vous trouvez ci-joint le tableau SUIVIPM et la FICHE de MES vierge.
    En espérant que vous pourrez m'aider.

    Cordialement
    eurlzoo
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    1. Préparation et adaptation du fichier:

    Insérer la feuille Fiche MES dans le même classeur.

    Nommer une cellule (par exemple T1) de la feuille suivi PM par CHOIX

    Sur la feuille Fiche MES mettre les formules suivantes: (faire la correspondance)

    En F3: =DECALER(suiviPM!$B$1;CHOIX;)En F4: =DECALER(suiviPM!$C$1;CHOIX;)...

    Enfin en L17: =DECALER(suiviPM!$P$1;CHOIX;)
    2. Vba:

    Dans le module de la feuille Suivi PM, on va utiliser l'événement BeforeDoubleClick

    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
    24
    25
    26
    27
    28
    29
    Option Explicit
     
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim Ref As String, Fichier As String
     
    Application.ScreenUpdating = False
    If Target.Row > 1 And Range("A" & Target.Row) <> "" Then
        Cancel = True
        Range("CHOIX") = Target.Row - 1
        Ref = Range("B" & Target.Row)
        Fichier = ThisWorkbook.Path & "\FICHE DE " & Ref & ".xls"
     
        Worksheets("Fiche MES").Copy
        With ActiveWorkbook
            With .Worksheets(1).UsedRange
                .Value = .Value
            End With
            On Error Resume Next
            Application.DisplayAlerts = False
            .SaveAs Fichier
     
            .Close
            Application.DisplayAlerts = True
            On Error GoTo 0
        End With
        MsgBox "Fichier de la référence [" & Ref & "] sauvegardé avec succès"
    End If
    End Sub
    Voilà.

    Tu vas recevoir un contrat de maintenance.

  3. #3
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2013
    Messages : 2
    Par défaut
    Bonjour,
    Dans un premier temps, je tenais à vous remercier pour la rapidité de votre réponse, cependant, je n'arrive pas à faire fonctionner votre macro, il y a surement quelque chose que je réalise mal dans la partie "Préparation et adaptation du fichier".
    Dans l'attente de votre retour.
    Cordialement.

  4. #4
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut generer et remplir
    bonsoir,

    Tout d'abord passe les cellules ou tu introduis les formules au format standard. les avoir au format texte pose parfois voire toujours problème.
    C'est bien ce qui se passe dans ton appli. Les formules logées dans une cellule format standard renvoient l'intitulé de la cellule ligne 1 alors que celles logées dans une cellule au format texte conservent la formule apparente.

    Ensuite le code doit être impérativement dans la feuille suiviPM.

    Enfin tu dois double-cliquer sur une cellule de la colonne index de la feuille suiviPM pour obtenir un résultat que je te laisse constater.

    Par contre, je ne comprends pas pourquoi tu créés un classeur par fiche. Ne serait-il pas plus logique que chaque fiche de suivi corresponde à un onglet d'un seul et unique classeur.

    Cordialement,

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/04/2015, 15h18
  2. Réponses: 1
    Dernier message: 10/07/2014, 15h43
  3. Script pour remplir des tableaux Excel.
    Par Debasorz dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 25/09/2009, 11h31
  4. Réponses: 3
    Dernier message: 21/06/2005, 11h37
  5. Réponses: 8
    Dernier message: 07/10/2004, 11h08

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