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écupérer des données dans différents onglets [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Agent administratif
    Inscrit en
    Juin 2022
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Agent administratif
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2022
    Messages : 49
    Par défaut Récupérer des données dans différents onglets
    Bonjour à tous,
    J'aimerai mettre en place une macro mais je ne sais pas par quel bout commencer.
    J'ai un fichier excel avec un
    - onglet Recap
    - 2 onglets par société
    * a.xlsx(Total)
    * a.xlsx(Détail) ou a.xlsx(Détails)
    J'aimerai que la macro aille récupérer l'info de la feuille a.xlx(Total) au fomat texte et qu'elle le mette dans la cellule appropriée de l'onglet "Recap" au format nombre.
    Et qu'elle aille récupérer le détail dans l'onglet a.xlx(Détail/Détails).
    J'espère avoir été assez clair.
    Ci-joint le fichier en exempleClasseur1.xlsx
    Merci pour votre aide

  2. #2
    Membre émérite
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2022
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2022
    Messages : 685
    Par défaut
    Bonjour

    pourquoi une macro ? Une formule devrait pouvoir faire ça très bien...

    Par exemple pour récupérer le total :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SIERREUR(INDIRECT("'"&B1&".xlsx(Total)'!B2");"Onglet non trouvé")
    Après il faut un minimum de rigueur (quelle que soit la méthode) dans les règles de nommage : Détail ou Détails ?

  3. #3
    Membre averti
    Homme Profil pro
    Agent administratif
    Inscrit en
    Juin 2022
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Agent administratif
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2022
    Messages : 49
    Par défaut
    Bonjour Tête de chat,
    Je suis en phase d'apprentissage, c'est pour ça que je rédige une macro.
    J'ai réussi à en faire une. elle me donne une erreur 13 au niveau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
               If sht.Range("C38") <> "" Then
                    RFI.Value = sht.Range("C38").Value
                Else
                    RFI.Value = "-" + sht.Range("E39").Value
                End If
    Voici mon code complet

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Sub RemplirTableau()
     
    Dim ENTITE As Range
    Dim RFI As Variant
    Dim NomFeuilleA As String
    Dim NomFeuilleAbis As String
    Dim NomFeuilleImpotA As String
    Dim NomFeuilleImpotB As String
    Dim NomSociete As String
    Dim shIFA As Worksheet
    Dim sht As Worksheet
     
    Set shIFA = Worksheets("IF Amundi")
    'Boucle sue l'entité
    For Each ENTITE In shIFA.Range("F7", shIFA.Range("F7").End(xlToRight)).Cells
        'Nom des feuilles
        NomFeuilleA = ENTITE & ".xlsx(2058A)"
        NomFeuilleAbis = ENTITE & ".xlsx(2058ABIS)"
        NomFeuilleImpotA = ENTITE & ".xlsx(IMPOT01)"
        NomFeuilleImpotB = ENTITE & ".xlsx(IMPOT01X)"
        RFI = ENTITE.Offset(14, 0)
        'Boucle sur les feuilles
        For Each sht In ThisWorkbook.Worksheets
            'Condition de récupération des données
            If sht.Name = NomFeuilleAbis Then
                If sht.Range("C38") <> "" Then
                    RFI.Value = sht.Range("C38").Value
                Else
                    RFI.Value = "-" + sht.Range("E39").Value
                End If
     
            End If
     
        Next sht
     
    Next ENTITE
     
    End Sub
    Je vous remercie pour votre aide

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Faudrait voir le besoin et donc un éclaté d'écran.

    Je me dis que Power Query pourrait faire l'affaire, mais sans précisions supplémentaires, difficile d'aider mieux
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre averti
    Homme Profil pro
    Agent administratif
    Inscrit en
    Juin 2022
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Agent administratif
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2022
    Messages : 49
    Par défaut
    Je te remercie pour ta réponse mais je souhaite vraiment créer une macro pour ce traitement.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Explique ce que tu souhaites réaliser avec des éclatés d'écran. Je n'aime pas repartir sur une macro qui ne fonctionne pas et j'aime bien comprendre le problème pour donner la meilleure réponse.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Membre averti
    Homme Profil pro
    Agent administratif
    Inscrit en
    Juin 2022
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Agent administratif
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2022
    Messages : 49
    Par défaut
    Après quelques recherches j'ai réussi à établir ma macro.
    Merci Pierre d'avoir pris le temps d'échanger avec moi sur le sujet.

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

Discussions similaires

  1. isertion des donnes dans mysql a patire d'eclipse
    Par fAdoua123 dans le forum JDBC
    Réponses: 3
    Dernier message: 15/06/2007, 10h24
  2. Ecrire des donnes dans un flux xml
    Par jul-974 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 02/06/2007, 01h48
  3. comment mettre des donnés dans un dual?
    Par godiba dans le forum Administration
    Réponses: 3
    Dernier message: 15/05/2007, 11h48
  4. limite de l'affichage des donnés dans une Bdgrid
    Par helmis dans le forum Bases de données
    Réponses: 3
    Dernier message: 19/07/2006, 09h15
  5. ajouter des control dans une onglet de sstab sous VB6
    Par aymane_farissi dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 26/09/2005, 13h44

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