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 :

Macro Copier/ coller avec des écarts non réguliers


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 5
    Par défaut Macro Copier/ coller avec des écarts non réguliers
    Bonjour tout le monde,

    Je suis nouveau sur le forum. Etudiant en gestion, et je commence à apprendre progressivement la programmation en VBA.

    Je sollicite vos conseils car je bloque sur une macro.

    Je souhaiterais réaliser des "copier/coller" d'une cellule pour les x lignes du dessous vides mais en prenant au fur et à mesure que la boucle avance des nouvelles données.

    En d'autres termes, j'ai une liste de données avec des cellules vides, et je souhaiterais compléter ces cellules vides avec les données écrites au-dessus.
    Mon problème est que le nombre de ligne entre chaque donnée n’est pas constant, j’ai donc du mal à définir des variables.


    Pour être plus explicite, j'ai joint le fichier Excel et mon morceau de code.

    Je vous remercie grandement pour vos conseils.

    Cordialement,
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite Avatar de Nicolas JACQUIN
    Homme Profil pro
    .
    Inscrit en
    Avril 2014
    Messages
    556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : .
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2014
    Messages : 556
    Par défaut
    Bonjour,

    j'ai joint le fichier Excel et mon morceau de code.
    il est ou ton code ??

    https://www.developpez.net/forums/d8...s/#post6033047

    Soit un peu plus explicite

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Testes ce code. Les données devant être en colonne A de la feuille "Feuil1" et à partir de A1 sinon, adaptes :
    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
     
    Sub Test()
     
        Dim Plage As Range
        Dim Cel As Range
        Dim I As Long
     
        With Worksheets("Feuil1"): Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)): End With
     
        For I = 1 To Plage.Count
     
            Set Cel = Plage(I).End(xlDown)
     
            Plage(I).AutoFill Range(Plage(I), Cel.Offset(-1))
            I = Cel.Row - 1
     
        Next I
     
    End Sub

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 5
    Par défaut
    Bonjour,
    Cela fonctionne parfaitement. Merci beaucoup!
    Nicolas, je le saurai pour la prochaine fois .
    Bon week-end !!

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 5
    Par défaut
    Bonjour tout le monde,
    Ce code fonctionne parfaitement. Mais je souhaiterais également sauter une ligne entre chaque série de données (cette ligne correspond au total).
    Comme ceci :

    Données de base
    Paul

    Total
    Pierre


    Total
    Etc…



    Données souhaitées après avoir fait tourner la macro :

    Paul
    Paul
    Paul
    Paul
    Total
    Pierre
    Pierre
    Pierre
    Pierre
    Pierre
    Total
    Etc…

    Theze, je ne vois pas ou il faut que j'adapte le code.
    Merci d'avance pour votre aide !
    Cordialement,

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Comme ceci peut être :
    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
     
    Sub Test()
     
        Dim Plage As Range
        Dim Cel As Range
        Dim I As Long
     
        With Worksheets("Feuil1"): Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)): End With
     
        For I = 1 To Plage.Count
     
            Set Cel = Plage(I).End(xlDown)
     
            Plage(I).AutoFill Range(Plage(I), Cel.Offset(-1))
            Cel.EntireRow.Insert xlShiftDown
            I = Cel.Row - 1
     
        Next I
     
    End Sub

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 5
    Par défaut
    Bonsoir,

    Cela ne fonctionne pas. je pense qu'il ne faut pas ajouter une ligne (elle y est déjà) mais plutôt sauter une ligne quand on arrive à total, pour pouvoir répéter la même opération avec les autres données.

    Au lieu des -1, j'ai essayé de changer ces paramètres mais cela de fonctionne pas.

    Je ne sais pas si je suis trés clair .

    Merci pour toute l’aide !!

Discussions similaires

  1. [XL-2003] Copier coller avec des conditions
    Par steph8 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/08/2011, 14h04
  2. Problème de copier/coller avec des images
    Par Brossard56 dans le forum Word
    Réponses: 9
    Dernier message: 15/03/2011, 00h00
  3. [XL-2003] copier coller avec des séparateur puis formatage sur une ligne
    Par kalwin dans le forum Excel
    Réponses: 3
    Dernier message: 17/09/2010, 19h45
  4. [XL-2000] macro copier coller avec condition ne marche pas
    Par antfo dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 17/03/2010, 10h54
  5. Macro copier/coller avec tri
    Par Lechette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/03/2008, 12h44

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