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 :

Boucle While copier/coller


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Août 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 8
    Par défaut Boucle While copier/coller
    Bonjour a tous,

    J'ai un petit probleme, qui devrait vous prendre quelques petites minutes, mais qui m'ont deja pris plusieurs heures, debutant que je suis!

    Pour mettre a jour un fichier excel, je voudrais copier/coller a l'aide d'une macro une ligne de plusieurs colones (AC5:AG5) dans les lignes d'en dessous, et je voudrais que ce copiage/collage s'arrete des qu'il rencontre la premiere ligne vide. (car le nombre de lignes a mettre a jour varie selon les informations que j'ai a traiter, je ne veux pas copier/coller 500 lignes a chaque fois si je n'ai que 200 lignes a mettre a jour)

    J'ai essaye de faire une boucle, mais je vous avoue que je n'a pas tres bien compris le fonctionnement... quelqu'un pourrait-il m'aider svp!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Actualizar()
     
    Range("AC5:AG5").Select
    Selection.Copy
        While ActiveCell.value <> Empty
             Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, Transpose:=False
             ActiveCell.offset(1, 0).Select
         Wend
     
    End Sub

  2. #2
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Bonjour,
    Si j'ai bien compris tu veux "écraser" un nombre de ligne variable avec les données des cellules "Ac5:AG5" et dans ce cas le code ci-dessous devrait te convenir.
    Attention, j'ai considéré que les lignes à remplacer commencaient à la ligne 6 dans les mêmes colonnes, il faut donc adapter le code à tes besoins.

    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
    Sub Test()
     
    'Compte le nombre de ligne remplie sur base de la colonne AC
    NbLigne = Application.Subtotal(3, Sheets("sheet1").Range("ac:ac"))
     
    Range("a5:g5").Copy
     
    'Sélectionne la zone à "écraser" 6 car à partir de ligne 6 et 29 car colonne AC
    Range(Cells(6, 29), Cells(NbLigne + 6, 29)).Select
     
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
     
    Application.CutCopyMode = False
     
    End Sub
    Bonne continuation.

    PS il y a d'autres moyen de définir la plage à écraser...

  3. #3
    Membre régulier
    Inscrit en
    Août 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 8
    Par défaut
    ok ca marche parfaitement!! merci bcq!

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

Discussions similaires

  1. Copier/coller des informations à partir d'une boucle
    Par BOU59000 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/07/2009, 09h21
  2. Réponses: 17
    Dernier message: 29/06/2009, 10h47
  3. Boucle copier coller
    Par jfk490 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/03/2009, 17h12
  4. boucle avec copier coller dans un fichier excel
    Par Chalu_C_Momo dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 20/11/2008, 16h45

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