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

Excel Discussion :

Code VBA pour récupération formule autre onglet + copier/coller sur plusieurs lignes


Sujet :

Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Septembre 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage

    Informations forums :
    Inscription : Septembre 2015
    Messages : 22
    Points : 14
    Points
    14
    Par défaut Code VBA pour récupération formule autre onglet + copier/coller sur plusieurs lignes
    Bonjour à tous,

    J'ai un onglet recap dans lequel je souhaite rapatrier les résultats de mes autres onglets dont le nom commence par "Détail".

    Je voudrai que :

    'Recap'! D1 = 'Détail Lot1'!A1
    'Recap'! E1 = 'Détail Lot1'!B1
    'Recap'! F1 = 'Détail Lot1'!C1

    'Recap'! G1 = 'Détail Lot2'!A1
    'Recap'! H1 = 'Détail Lot2'!B1
    'Recap'! I1 = 'Détail Lot2'!C1

    ...

    Je ne connais pas à l'avance le nombre d'onglets Détail que je vais avoir.

    Et je voudrais ensuite copier ma ligne 1 de l'onglet Recap et la coller (je parle des formules bien sûr) sur les 100 lignes suivantes.


    Voilà ce que j'ai commencé à écrire mais il y a des "trous" dans ma macro que je ne sais pas remplir et ej ne suis pas sûre à 100% du reste ...


    Sub Macro1()
    '
    ' Macro1 Macro
    '
    Dim oWksh As Worksheet
    Dim i As Byte

    i = 1
    With Worksheets("Recap")
    For Each oWksh In Worksheets
    If oWksh.Name Like "Détail*" Then

    .Range("A9").Offset(0, 3 * i).Formula =
    .Range("B9").Offset(0, 3 * i).Formula =
    .Range("C9").Offset(0, 3 * i).Formula =


    i = i + 1
    End If
    Next oWksh
    End With

    Sheets("Recap").Select
    Rows("1").Select
    Rows("1").Copy Destination:=Rows("2:100")

    '
    End Sub


    Merci d'avance pour votre aide.

  2. #2
    Membre à l'essai
    Femme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Septembre 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage

    Informations forums :
    Inscription : Septembre 2015
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Bonjour à tous,

    J'ai essayé avec le code suivant mais ça ne fonctionne pas :

    Dim oWksh As Worksheet
    Dim i As Byte

    i = 1
    j = 1
    With Worksheets("Recap")
    For Each oWksh In Worksheets
    If oWksh.Name Like "Détail*" Then
    Range("A9").Offset(0, 3 * i).Formula = "='oWksh'!R[9]C[17]"
    Range("B9").Offset(0, 3 * i).Formula = "='oWksh'!R[9]C[18]"
    Range("C9").Offset(0, 3 * i).Formula = "='oWksh'!R[9]C[19]"
    i = i + 1
    End If
    Next oWksh
    End With

    Par exemple en D9, j'ai =oWksh!U18 alors que j'attends =Détail!Q9

    Si quelqu'un a une idée ... Merci

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 78
    Points : 127
    Points
    127
    Par défaut
    je mettrais un truc dans ce genre là :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Range("A9").Offset(0, 3 * i).Formula = "='" & oWksh.Name & "'!R[9]C[17]"

  4. #4
    Membre à l'essai
    Femme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Septembre 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage

    Informations forums :
    Inscription : Septembre 2015
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Merci !

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

Discussions similaires

  1. [XL-2010] Code VBA pour fermer un autre fichier sans avoir l'invite de sauvegarde
    Par fta95200 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 19/02/2014, 21h52
  2. Code VBA pour copier-coller des colonnes d'un fichier Excel à un autre
    Par User Name dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/01/2014, 23h30
  3. Réponses: 1
    Dernier message: 09/11/2010, 15h50
  4. Code VBA pour Copier une cellule dans un filtre?
    Par Redisdead dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/02/2009, 05h48
  5. [VBA-E] renvoyer le resultat d'un inputbox sur plusieur lignes
    Par ludo02 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/02/2007, 17h58

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