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: Incrémenter une variable qui soit une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Boucle: Incrémenter une variable qui soit une cellule
    Bonjour à tous,

    J'en appele à vous car je ne connais pas le Visual Basic et j'ai besoin d'un coup de main pour accoucher d'une macro Excel:
    Pour résumer, je dois faire une boucle (de 100 itérations: compteur de 7 à 197 qui correspond aux nombre de lignes de la feuille "Cion") qui copie et colle des données d'une feuile à une autre du classeur.
    Seules les cellules que j'ai mis en rouge dans le code doivent être incrémenté (passage à la ligne inférieure). En gros le code ça donne ça et il faut que la macro modifie les variables en rouge (qui correspondent à des cellules Excel), je voudrait ensuite écrire dans les cellules A8, puis A9, etc.

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Sub Cion()
    Dim NumLigne As Integer
    Set NumLigne = 7
    While (NumLigne < 107)
       Range(A+NumLigne).Select
       Application.CutCopyMode = False
      		Selection.Copy
       Sheets("Suivi").Select
       Range("H10").Select
       Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
       Range("I10").Select
       Application.CutCopyMode = False
       Selection.Copy
       Sheets("Cion").Select
       Range("K+NumLigne ").Select
       Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
       Sheets("Suivi").Select
       Range("J10").Select
       Application.CutCopyMode = False
       Selection.Copy
       Sheets("Cion").Select
       Range("F+NumLigne ").Select
       Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False		
       
       NumLigne = NumLigne + 1
    Wend
    
    End Sub
    Je ne sais pas si je suis très clair mais je fais de mon mieux

    Merci pour votre aide !

  2. #2
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    re:

    je ne sais pas si j'ai tout compris mais en fonction des lignes en rouge

    La reference colonne n'etant pas une variable, "A" ou "K"
    le + est une caractere d'addition, le caractere de concatenation est : &
    numligne etant une variable elle s'utilise comme telle
    ce qui donne :
    maintenant, histoire de supprimer les select qui prennent du temps dans l'execution et fait sauter l'écran
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       Range("A" & NumLigne).Copy
       Sheets("Suivi").Range("H10").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    et pour eviter les copier coller :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Suivi").Range("H10").value = Range("A" & numligne).value
    Wilfried

  3. #3
    Membre émérite 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 : 48
    Localisation : Belgique

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Bonjour,
    Si je peux...Hier on a eu un cas plus ou moins similaire, il y a une pièce jointe et une procédure qui pourait t'aider à simplifier ton code.
    L'intitulé: Recuperation-Cellules-copie

    Bon courage,
    N'oubliez pas le si votre problème est solutionné.

  4. #4
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    SUPER !

    Merci pour vos réponses. Je vais faire ça cet aprem !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/11/2009, 15h19
  2. [PHP 5.0] Creer une fonction qui retourne une variable dans le script
    Par keaton7 dans le forum Langage
    Réponses: 8
    Dernier message: 10/02/2009, 14h09
  3. Réponses: 27
    Dernier message: 03/01/2008, 11h07
  4. Réponses: 6
    Dernier message: 26/06/2007, 18h36
  5. Récuération d'une variable qui contient une phrase
    Par lama85 dans le forum Langage
    Réponses: 1
    Dernier message: 23/08/2006, 13h52

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