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 :

Copier/coller VBA + boucle [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Superviseur de Hotline
    Inscrit en
    Octobre 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Superviseur de Hotline
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2017
    Messages : 17
    Par défaut Copier/coller VBA + boucle
    Salut à tous,

    J'arrive petit à petit à me retrouver en ce qui concerne VBA

    J'ai une petite mission, rendre un dashboard animé, et je pense avoir trouver le moyen, mais je sèche sur un truc.

    Je les chiffre 1 à 10 dans la colonne A, et je colle la valeur de la cellule sélectionné(par exemple: A1) dans D3.

    Nom : test boucle.PNG
Affichages : 1050
Taille : 5,3 Ko

    Mon soucis c'est que je dois retourner sur la cellule A1 pour que ma boucle fonctionne.

    Mais je n'ai aucune idée de comment le réaliser.
    J'ai beau cherché, mais je ne vois pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     Sub looping()
     
    Range("A1").Select
     
    Do
    ActiveCell.Offset(1, 0).Copy
    Range("D3").Select
    ActiveSheet.Paste
    Loop
     
    End Sub
    Bien évidemment, le code se fera sur un plus large format, je pense pouvoir adapter le code par la suite pour le répercuter sur les différent élément à animé.

    Merci d'avance de votre aide si précieuse.

  2. #2
    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
    J'ai beaucoup de difficultés à comprendre ta demande.
    Je ne vois pas ce que doit faire ta boucle.

    J'ai l'impression que tu veux simplement copier A1 dans D3.
    S'il ne s'agit que de ça, il suffit d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Sub looping()
       Range("A1").Copy Range("D3")
    End Sub
    J'arrive petit à petit à me retrouver en ce qui concerne VBA
    Si le code que tu as tenté d'écrire correspond à ce que j'ai compris de ta demande, alors que pense que ton constat est que ton constat est quelque peu optimiste.
    Je te conseille d'étudier les bases : http://bidou.developpez.com/article/VBA/

  3. #3
    Membre averti
    Femme Profil pro
    Superviseur de Hotline
    Inscrit en
    Octobre 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Superviseur de Hotline
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2017
    Messages : 17
    Par défaut
    Merci beaucoup de ta réponse.

    Un ami m'a un peu aidé et c'est vrai que la demande n’était pas très clair.

    En fait il fallait coller A1 dans D3 ensuite basculer sur A2 et le copier dans D3, re basculer sur A3 ainsi de suite.

    Voila le code qu'il ma donné
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub loop2()
     
    Range("A1").Select
     
    Do
    ActiveCell.Offset(1, 0).Select
    Range("D3").Value = ActiveCell.Value
     
    Loop Until ActiveCell.Offset(1, 0).Value = ""
     
     
    End Sub
    Maintenant je l'adapte à large échelle. Merci encore.

  4. #4
    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 nono_12 Voir le message
    En fait il fallait coller A1 dans D3 ensuite basculer sur A2 et le copier dans D3, re basculer sur A3 ainsi de suite.
    Je ne voudrais pas paraitre offensant mais c'est absurde : chaque copie sur D3 va écraser les copies précédentes donc seule la dernière copie sera utile.

    A moins qu'il n'y ait plus que ce que tu présentes.

    Pour ce qui est de ton code, je te conseille d'éviter les Select/Selection qui ralentissent l'exécution et compliquent le code.
    Il serait plus simple d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub loop2()
        Dim CC As Long
        For CC = 1 To Rows.Count
            If Cells(CC, 1).Text = "" Then Exit Sub
            Range("D3").Value = Cells(CC, 1).Value
        Next CC
    End Sub
    Ou, encore mieux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub loop2()
        Dim CC As Long
        For CC = 1 To Cells(Rows.Count, 1).End(xlUp).Row
            Range("D3").Value = Cells(CC, 1).Value
        Next CC
    End Sub

  5. #5
    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
    Salut

    Citation Envoyé par Menhir Voir le message
    Je ne voudrais pas paraitre offensant mais c'est absurde : chaque copie sur D3 va écraser les copies précédentes donc seule la dernière copie sera utile.

    A moins qu'il n'y ait plus que ce que tu présentes.[...]
    Citation Envoyé par nono_12 Voir le message
    [...]

    J'ai une petite mission, rendre un dashboard animé[...]
    Je pense que la boucle qui place les données en boucle en D3 sert à animer le dashboard...

    Dès lors, il serait utile que nono nous explique ce qu'il compte réaliser comme animation, parce que j'ai plus que des doutes sur la méthode employée...
    "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...
    ---------------

  6. #6
    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 Pierre Fauconnier Voir le message
    Je pense que la boucle qui place les données en boucle en D3 sert à animer le dashboard...
    Dans ce cas, il sera utile de mettre une tempo. Parce que le code écrit ainsi peut passer plusieurs milliers de valeurs en un clin d'oeil.

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

Discussions similaires

  1. [XL-2010] Boucles et copier/coller VBA
    Par Lyricslife dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/07/2016, 10h59
  2. [XL-2007] Copier coller VBA (avec boucle)
    Par Raytague dans le forum Excel
    Réponses: 2
    Dernier message: 05/12/2014, 09h04
  3. [XL-2003] VBA copier-coller et boucle
    Par canelun dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 22/07/2013, 07h24
  4. [XL-2010] Rechercher Copier coller en boucle - Débutant macro
    Par zuzu94 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/03/2013, 11h18
  5. Copier Coller VBA Access
    Par seiya18 dans le forum VBA Access
    Réponses: 3
    Dernier message: 28/02/2008, 20h33

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