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 :

[VBA-E]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
    Inscrit en
    Avril 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 10
    Par défaut [VBA-E]boucle
    Bonjour,

    je cherche à créer une macro (sans doute une boucle...) qui me permette d'appliquer une formule ds une case (en l'ocurrence K6), puis de figer le résultat puis de passer à la ligne du dessous (même colonne) pour appliquer la même formule... ainsi de suite. Sauriez vous me dire comment procéder?
    Merci

  2. #2
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Salut!
    Tu n'as rien à "figer". Tu fais, en effet, une boucle sur les cellules de ta colonne, mais à chaque fois, tu n'as qu'à effectuer le calcul dans ta macro VBA, puis à mettre le résultat (et seulement le résultat) dans ta cellule.
    Ainsi, si, par la suite, les cellules qui ont servi à effectuer le calcul sont modifiées, le résultat ne sera pas modifié.

  3. #3
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 10
    Par défaut
    ok merci, mais saurais tu me dire comment faire la dite boucle (je débute en VBA)

  4. #4
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 10
    Par défaut
    en fait, je voudrais simplement qu'une formule soit appliquée en une ligne i+1 tt comme elle a été appliquée en i.

  5. #5
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Voici le début: je repère la dernière cellule remplie de la colonne 1 (ou A).
    Puis je fais une boucle "For ... Next" qui compte de 1 au numéro déterminé précédemment.
    Et je remplis les cellules de la colonne B (ou 2) avec le numéro de ligne.
    Toi, au lieu de mettre "CompteurLignes", tu devras faire ton calcul.

    Bon, maintenant, je pense que tu n'échapperas pas à la lecture des tutoriels et des cours VB(A) sur ce site.
    Je te donne le début, mais je ne te ferais pas tout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub ParcourirColonneA()
        Dim DerniereLigne As Integer
        Dim CompteurLignes As Integer
        DerniereLigne = Cells(65535, 1).End(xlUp).Row
     
        For CompteurLignes = 1 To DerniereLigne
            Cells(CompteurLignes, 2).Value = CompteurLignes
        Next CompteurLignes
    End Sub

  6. #6
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Bon, je viens de lire ton message précédent, et je comprend mieux ce que tu veux faire.
    J'ai un conseil: enregistre une macro en faisant à la main ce que tu veux. C'est à dire, tu étires la formule de la ligne 1 sur les autres.
    Puis, pour "figer" les résultats, tu fais un copier-collage spécial, et tu choisis "Valeurs", et tu colles sur la zone de départ.
    Regarde le code généré automaitquement.

  7. #7
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 10
    Par défaut
    en effet, c'est bcp plus simple comme ça!
    Merci

  8. #8
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Good!
    Mais garde en tête le truc pour repérer la dernière ligne d'une colonne, ça pourra te servir pour modifier un peu la macro générée automatiquement.

  9. #9
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 10
    Par défaut
    oui, en effet, j'avais déjà eu qq difficultés avec cette formule, mais ds un sens différent puisqu'il s'agissait d'intégrer une ligne en haut de tableau (donc descendre ttes celles précedemment crées...)

  10. #10
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Et si ça marche, ajoute le tag (bouton en bas à gauche)

Discussions similaires

  1. [VBA-E] Boucle pour supression des dernieres cellules
    Par amd64 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/05/2006, 16h41
  2. [VBA-E] boucle lente !
    Par zenix dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/04/2006, 15h48
  3. [VBA-E]Boucle mise a jour label
    Par alex_95 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/03/2006, 14h32
  4. [VBA-E]Boucle pour addition?
    Par LouBoulpi dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/02/2006, 20h50
  5. [VBA-E] Boucle while!
    Par max2245 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/12/2005, 19h26

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