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 :

valeur cellule sous condition pour lancer macro


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2023
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2023
    Messages : 1
    Par défaut valeur cellule sous condition pour lancer macro
    Bonjour,

    Je suis une truffe en VBA cependant j'aime le faire. je vous appelle à l'aide car plus j'avance dans ma macro plus j'ai l'impression de couler. J'aimerai que sous condition d'une valeur dans la colonne L, le programme me récupére la valeur de la cellule I pour lancer une macro. Mais voilà, je crois pas qu'on se comprenne tous les deux car cette condition doit s'appliquer sur toutes les cellules de I et L. Je vous place mon programme

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Sub CommandButton1_Click()
    Dim Cell As Range
    Dim lig As Long
    Dim col, bat As String
    Dim NbrLig As Long
    Dim NumLig As Long
     
     
    Sheets("ARCHIVE").Activate
    col = "L" ' colonne données non vides à tester'
     
    NumLig = 1 'le N° de la 1er ligne de données en comptant la ligne 1 = 0
    'Sélectionne l'onglet nouvel arrivant
    With Sheets("ARCHIVE") 'feuille source'
    NbrLig = .Cells(65536, col).End(xlUp).Row
     
    For lig = 2 To NbrLig 'n° de la 1ere ligne de données'
     
    Do While .Cells(lig, col).Value <> ""
     
    '    If  Then 'si la valeur de la cellule L est non vide
    'End If
    'For Each Cell In Range("i2:i150") ' il reste sur la colonne I sans vérifier que la colonne L est vide ou pas  premiere condition et lance toutes les macros
     
    	   If Cell.Value = "LIMOGES" Then 'ou activecell.offset(0,-4).value
     
                Call LIMOGES
    End If
     
               If Cell.Value = "MARSEILLE" Then
                Call MARSEILLE
    End If
                 If Cell.Value = "PARIS" Then
                Call PARIS
    End If
                If Cell.Value = "LONDRES" Then
                Call LONDRES
    End If
     
     
    exit do
    'Next
    Loop
    Next
    End With
     
    End Sub
    Merci pour vos conseils
    Draki

  2. #2
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 466
    Par défaut
    Salut,
    Les explications ne sont pas claires, mais pas claires du tout...

    Ca devrait ressembler à ça je pense :

    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
     
    Option Explicit    ' // Déclaration obligatoire des variables
    Option Compare Text    ' // Like non sensible à la casse
     
    Sub CommandButton1_Click()    
        Sheets("ARCHIVE").Activate
        'Sélectionne l'onglet nouvel arrivant
        With Sheets("ARCHIVE")                       'feuille source'
            Dim lastRow As Long
            lastRow = .Cells(Application.Rows.Count, col).End(xlUp).Row
     
            Dim Myrange As Excel.Range
            Set Myrange = .Range("L2:L" & lastRow)
     
            Dim itemRange As Excel.Range
            For Each itemRange In Myrange
                If itemRange.Value Like itemRange.Offset(0, -3).Value Then
                    RunProcedure itemRange.Value
                End If
            Next
        End With
    End Sub
     
    Private Sub RunProcedure(ByVal Value As Variant)
        ' // Todo Make something with Value
        MsgBox "Lancement de : " & Value
    End Sub

Discussions similaires

  1. [XL-2007] Réalisation d'un macro pour fusionner des cellules sous conditions
    Par yannickcochard dans le forum Excel
    Réponses: 9
    Dernier message: 19/05/2015, 02h31
  2. [XL-2013] Déplacer valeurs cellules sous conditions
    Par rivaol2689 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/12/2013, 15h04
  3. Réponses: 10
    Dernier message: 07/07/2012, 18h11
  4. Macro coloration de cellules sous conditions
    Par balata9 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/09/2010, 22h29
  5. macro vba identifier cellule sous condition
    Par yanacrux dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/03/2009, 15h00

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