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 :

Modifier une macro pour l'appliquer à une boucle variable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur
    Inscrit en
    Décembre 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2014
    Messages : 46
    Par défaut Modifier une macro pour l'appliquer à une boucle variable
    Bonjour le forum,

    J'ai une macro qui me permet de calculer une valeur cible.
    Aujourd'hui cette macro fonctionne uniquement pour la ligne 17.
    Je souhaiterai modifier cette macro avec une boucle pour l'appliquer de la ligne 17 à une ligne variable. C'est à dire que si la cellule de la colonne E (E17+i) est >0 on calcule la valeur cible.
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    If [N17] < 0 Then [N17] = 0
    If Not Intersect(Target, [E17, G17, M17, AQ17]) Is Nothing Then [BE17].GoalSeek Goal:=0, ChangingCell:=[N17]
    Application.ScreenUpdating = True
    End Sub
    Merci d'avance pour votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 418
    Par défaut
    Bonjour,

    Je n'ai pas exactement saisi votre demande, aussi 2 variantes dont vous comprendrez aisément la différence.
    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
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim kR As Long, r As Range
        Application.ScreenUpdating = False
        kR = Target.Row
        If Range("N" & kR) < 0 Then Range("N" & kR) = 0
        Set r = Range("E" & kR & ",G" & kR & ",M" & kR & ",AQ" & kR)
        If Not Intersect(Target, r) Is Nothing Then
            Range("BE" & kR).GoalSeek Goal:=0, ChangingCell:=Range("N" & kR)
        End If
        Set r = Nothing
        Application.ScreenUpdating = True
    End Sub
     
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim kR As Long, i As Long
        Application.ScreenUpdating = False
        kR = Target.Row
        i = 2                           '--- à adapter
        If [N17] < 0 Then [N17] = 0
        If Not Intersect(Target, [E17, G17, M17, AQ17]) Is Nothing Then
            For kR = 17 To 16 + i
                Range("BE" & kR).GoalSeek Goal:=0, ChangingCell:=Range("N" & kR)
            Next kR
        End If
        Set r = Nothing
        Application.ScreenUpdating = True
    End Sub
    Cordialement.

Discussions similaires

  1. "Tirer" une macro pour l'appliquer à plusieurs lignes
    Par Nashita dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 10/02/2020, 15h18
  2. Macro pour mettre à zéro toutes les variables
    Par festnicholls dans le forum Macro
    Réponses: 5
    Dernier message: 19/05/2017, 12h11
  3. [XL-2007] Boucle pour remplir cellule vide d'une boucle variable
    Par laurasoe dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/07/2014, 17h29
  4. Interruption d'une boucle - variable non définie
    Par Sérendipité dans le forum Programmation multimédia/Jeux
    Réponses: 14
    Dernier message: 16/04/2011, 22h53
  5. Modifier une boucle <<for>>
    Par Mataka dans le forum MATLAB
    Réponses: 22
    Dernier message: 31/05/2007, 08h20

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