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 :

Recopie automatique en variable avec une boucle


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2014
    Messages : 7
    Par défaut Recopie automatique en variable avec une boucle
    Bonjour J'ai une macro qui sur le papier à l'air simple mais qui me creuse beaucoup la tête. Si plusieurs d'entre vous sont aptes a y répondre ça m’enlèverait une grosse épine du pied

    Que je vous explique

    J'ai un fichier avec 53 onglets qui représentent les semaines ( je sais y'en à que 52) enfin. Ce dont j'ai besoin grossièrement c'est de copier les données de ces onglets sous un seul. (résumé)
    Pièce jointe 157815

    Vous allez comprendre sur mon fichier test, je l'ai fait manuellement mais j'aimerais bien le faire en automatique

    1) J'ai copier l'ensemble de mes colonnes A>K sur mon fichier résumé et ceci pour mes 53 onglets en l’occurrence que 2 pour le test (ligne 1/2/3)
    2) J'ai réitéré l'opération avec les colonnes A,B,C,D,E,F,G,H,I L et M (sur le fichier test correspond a la ligne 5/6/8)
    3) Et reboulette avec les colonnes A,B,C,D,E,F,G,H,I, N et O ( sur le fichier test ligne 7/8/9)

    Ce qui est compliqué pour moi c'est que tout doit être en variable combiné à une boucle. Je peux très bien avoir 50 lignes sur l'onglet 1 , 12 lignes sur l'onglet 2 etc.... et tout ça je dois le recopier donc 3 fois pour chacun des onglets due au fait que j'ai des chauffeurs et des équipiers. Je le fait 3 fois pour avoir sur mon fichier résumé en colonne K juste le nom de l’employé. Dernière subtilité il faut que je fasse le traitement 1 pour les 53 onglets , ensuite le traitement 2 et le traitement 3 . Pourquoi? Quand je reviens à la semaine 1 je saurais que c'est l’équipier 1 et après l’équipier 2. Donnée qui était perdu par le fait de copier les données sans le titre.

    Merci d'avance à tout expert qui y' arriverait car je bloque.
    Test.xlsx

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    une première approche!
    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
    Sub Test()
    Dim s As Long
    For s = 2 To Sheets.Count
    Onglet Sheets(s), Sheets(1)
    Next
    End Sub
     
     
    Sub Onglet(WsSource As Worksheet, WsCible As Worksheet)
    Dim R As Range
    Dim F As Long
    F = WsCible.Range("a" & WsCible.Cells.Rows.Count).End(xlUp).Row + 1
    Set R = WsSource.UsedRange
    R.Range(R(2, 1), R(R.Rows.Count, R.Columns.Count)).Copy WsCible.Range("a" & F)
    End Sub

  3. #3
    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 sbell Voir le message
    J'ai un fichier avec 53 onglets qui représentent les semaines ( je sais y'en à que 52) enfin.
    365 / 7 = 52,14
    366 / 7 = 52,29
    Tu as donc raison de mettre 53 onglets.

  4. #4
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2014
    Messages : 7
    Par défaut Recopie automatique en variable avec une boucle help
    Bonjour

    Merci pour ton aide .
    Résumé la macro recopie bien les lignes mais pas exactement comme je le souhaiterai.

    J'ai vraiment besoin que le fichier me recopie dans mon résumé dans l'ordre suivant

    1) Avoir les colonnes A>K sur mon fichier résumé et ceci pour mes 53 onglets en l’occurrence que 2 pour le test (ligne 1/2/3)
    2) Puis les colonnes A,B,C,D,E,F,G,H,I L et M (sur le fichier test correspond a la ligne 5/6/8)
    3) Et reboulette avec les colonnes A,B,C,D,E,F,G,H,I, N et O ( sur le fichier test ligne 7/8/9)

    Hors dans le cas présent ça m'a recopier mes colonnes de A a O. Au lieu d'avoir 9 lignes j'en ai 3. Je peux le retraiter à la mano mais c'est beaucoup plus long.

    Sur mon fichier de synthèse je n'ai plus que 11 colonnes au lieu de 15 car je regroupe .

    Merci à vous d'avance

    CordialementRésultat Macrol.xlsxTest.xlsx

Discussions similaires

  1. Créer n variable avec une boucle
    Par persé dans le forum Général Java
    Réponses: 5
    Dernier message: 17/04/2013, 18h28
  2. initialisation des variable avec une boucle
    Par grospatapouf dans le forum Langage
    Réponses: 10
    Dernier message: 10/01/2009, 12h17
  3. Générer des variables avec une boucle
    Par Anamelech dans le forum Delphi
    Réponses: 15
    Dernier message: 03/11/2006, 12h33
  4. [C#]Lier automatiquement un Textbox avec une variable
    Par apoingsfermes dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/07/2006, 11h21
  5. Generer des noms de variables avec une boucle
    Par moutanakid dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/07/2004, 17h45

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