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 Conditions "IF", "OR", "AND"


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Août 2012
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 14
    Par défaut VBA Conditions "IF", "OR", "AND"
    Bonjour.

    Je ne m'en sors pas!

    Je voudrais creer une nouvelle colonne intitulee «KEY » dans l’onglet « LAPS » - qui se trouvera etre la premiere colonne disponible sur la droite.

    Cette colonne « KEY » sera le resultat des conditions suivantes (pour chaque ligne de la colonne) :

    Si la valeur des cellules de la colonne « TS » est « NOK »
    Alors la resultat de la colonne « KEY » sera « NOK »
    Sinon Si la valeur des cellules de la colonne « TS » est « OK »
    Et Si la valeur des cellules de la colonne « CP » est «WWWXXX » ou « YYYXXX » ou « UUUXXX » ou « ZZZXXX »
    Alors la resultat de la colonne « KEY » sera « MOUT »
    Sinon Si la valeur des cellules de la colonne « TS » est « OK »
    Et Si la valeur des cellules de la colonne « CP » est «AAAXXX » ou « BBBXXX » ou « GGGXXX »
    Alors le resulat de la colonne « KEY » sera le concatenate de la colonne « DS », « DA », les 3 lettres de gauche de la colonne « CP » (par exemple AAA, BBB ou GGG), « DR », « VD »
    Sinon Si la valeur des cellules de la colonne « TS » est « OK »
    Et Si la valeur des cellules de la colonne « CP » est «XXXCCC »
    Alors le resulat de la colonne « KEY » sera le concatenate de la colonne « DS », « DA », les 3 lettres de droite de la colonne « CP » (par exemple CCC), « DR », « VD »
    Sinon Si la valeur des cellules de la colonne « TS » est « OK »
    Et Si la valeur des cellules de la colonne « CP » est «XXXDDD » OU « XXXEEE » OU « XXXFFF »
    Alors le resulat de la colonne « KEY » sera le concatenate de la colonne « DS » modifiee (c’est-a-dire si « DS » = « N », alors le resultat sera « K », sinon « N »), « CA », les 3 lettres de droite de la colonne « CP » (par exemple DDD, EEE ou FFF), « DR », « VD »
    Sinon, le concatenate des cellules non remplies sera « FILL »
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Essaies de le faire par partie

    En K2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(B2="NOK";"NOK";SI(OU(D2="UUUXXX";D2="YYYXXX";D2="WWWXXX";D2="ZZZXXX");"MOUT";SI(OU(D2="AAAXXX";D2="BBBXXX";D2="GGGXXX");C2&E2&GAUCHE(D2;3)&H2&G2;SI(D2="XXXCCC";C2&E2&DROITE(D2;3)&H2&G2;SI(OU(D2="XXXDDD";D2="XXXEEE";D2="XXXFFF");SI(C2="N";"K";"N")&J2&DROITE(D2;3)&H2&G2;"FILL")))))

  3. #3
    Membre averti
    Inscrit en
    Août 2012
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 14
    Par défaut
    Bonjour.

    Apres de tumultueux essais, je n'y arrive pas

  4. #4
    Membre averti
    Inscrit en
    Août 2012
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 14
    Par défaut
    La seule chose qui fonctionne dans le code actuel est le concatenate.

    L'endroit ou je bloque est la suivante (le concatenante fonctionne mais je ne sais pas comment et surtout ou mettre les conditions).
    Faut-il inserer les conditions dans la formule de l'ActiveCell.Value ou creer une formule precedent l'ActiveCell.Value?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ActiveCell.Value = "=" & TS.Offset(1, 0).Address(False, False) & PP & CP.Offset(1, 0).Address(False, False) & _
    PP & DS.Offset(1, 0).Address(False, False) & PP & DA.Offset(1, 0).Address(False, False) & _
    PP & DR.Offset(1, 0).Address(False, False)

    Mon code en entier:
    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 Test()
     
    Dim TS, CP, DS, DA, DR, VD As Range
    Dim RPP, rngPP, PP As String
    Dim LRPP As Long
     
    Sheets("LAPS").Select
    Set TS = Rows(1).Find(what:="TS", LookIn:=xlValues, lookat:=xlWhole)
    Set CP = Rows(1).Find(what:="CP", LookIn:=xlValues, lookat:=xlWhole)
    Set DS = Rows(1).Find(what:="DS", LookIn:=xlValues, lookat:=xlWhole)
    Set DA = Rows(1).Find(what:="DA", LookIn:=xlValues, lookat:=xlWhole)
    Set DR = Rows(1).Find(what:="DR", LookIn:=xlValues, lookat:=xlWhole)
    Set VD = Rows(1).Find(what:="VD", LookIn:=xlValues, lookat:=xlWhole)
    If TS Is Nothing Then MsgBox "TS Column Not Found"
    If CP Is Nothing Then MsgBox "CP Column Not Found"
    If DS Is Nothing Then MsgBox "DS Column Not Found"
    If DA Is Nothing Then MsgBox "DA Column Not Found"
    If DR Is Nothing Then MsgBox "DR Column Not Found"
    If VD Is Nothing Then MsgBox "DV Column Not Found"
    Cells(1, Columns.Count).End(xlToLeft).Select
    ActiveCell.Offset(0, 1).Select
    ActiveCell.Value = "KEY"
    ActiveCell.Offset(1, 0).Select
    PP = "&"",""&"
    ActiveCell.Value = "=" & TS.Offset(1, 0).Address(False, False) & PP & CP.Offset(1, 0).Address(False, False) & _
    PP & DS.Offset(1, 0).Address(False, False) & PP & DA.Offset(1, 0).Address(False, False) & _
    PP & DR.Offset(1, 0).Address(False, False)
    RPP = Split(ActiveCell.Address, "$")(1)
    rngPP = (":" & RPP)
    LRPP = Cells(Rows.Count, "A").End(xlUp).Row
    Selection.AutoFill Destination:=Range(RPP & ActiveCell.Row & rngPP & LRPP)

  5. #5
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    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
    Option Explicit
    Sub Test()
    Dim TS As Range, CP As Range, DS As Range, DA As Range, DR As Range, VD As Range, C As Range, Plage As Range
        With Worksheets("LAPS")
            Set TS = .Rows(1).Find(what:="TS", LookIn:=xlValues, lookat:=xlWhole)
            Set CP = .Rows(1).Find(what:="CP", LookIn:=xlValues, lookat:=xlWhole)
            Set DS = .Rows(1).Find(what:="DS", LookIn:=xlValues, lookat:=xlWhole)
            Set DA = .Rows(1).Find(what:="DA", LookIn:=xlValues, lookat:=xlWhole)
            Set DR = .Rows(1).Find(what:="DR", LookIn:=xlValues, lookat:=xlWhole)
            Set VD = .Rows(1).Find(what:="VD", LookIn:=xlValues, lookat:=xlWhole)
            If TS Is Nothing Then MsgBox "TS Column Not Found"
            If CP Is Nothing Then MsgBox "CP Column Not Found"
            If DS Is Nothing Then MsgBox "DS Column Not Found"
            If DA Is Nothing Then MsgBox "DA Column Not Found"
            If DR Is Nothing Then MsgBox "DR Column Not Found"
            If VD Is Nothing Then MsgBox "DV Column Not Found"
            Set C = .Cells(1, Columns.Count).End(xlToLeft).Offset(0, 1)
            C.Value = "KEY"
            C.Offset(1, 0).FormulaLocal = "=SI(B2=""NOK"";""NOK"";SI(OU(D2=""UUUXXX"";D2=""YYYXXX"";D2=""WWWXXX"";D2=""ZZZXXX"");""MOUT"";SI(OU(D2=""AAAXXX"";D2=""BBBXXX"";D2=""GGGXXX"");C2&E2&GAUCHE(D2;3)&H2&G2;SI(D2=""XXXCCC"";C2&E2&DROITE(D2;3)&H2&G2;SI(OU(D2=""XXXDDD"";D2=""XXXEEE"";D2=""XXXFFF"");SI(C2=""N"";""K"";""N"")&J2&DROITE(D2;3)&H2&G2;""FILL"")))))"
            Set Plage = C.Offset(1, 0).Resize(.Cells(Rows.Count, "A").End(xlUp).Row - 1, 1)
            C.Offset(1, 0).AutoFill Destination:=Plage
        End With
        Set Plage = Nothing: Set C = Nothing
        Set TS = Nothing: Set CP = Nothing: Set DS = Nothing: Set DA = Nothing: Set DR = Nothing: Set VD = Nothing
    End Sub
    Cordialement.

  6. #6
    Membre averti
    Inscrit en
    Août 2012
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 14
    Par défaut
    Merci gFTZ82.

    Le probleme est que les cellules sont definies dans la formule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            C.Offset(1, 0).FormulaLocal = "=SI(B2=""NOK"";""NOK"";SI(OU(D2=""UUUXXX"";D2=""YYYXXX"";D2=""WWWXXX"";D2=""ZZZXXX"");""MOUT"";SI(OU(D2=""AAAXXX"";D2=""BBBXXX"";D2=""GGGXXX"");C2&E2&GAUCHE(D2;3)&H2&G2;SI(D2=""XXXCCC"";C2&E2&DROITE(D2;3)&H2&G2;SI(OU(D2=""XXXDDD"";D2=""XXXEEE"";D2=""XXXFFF"");SI(C2=""N"";""K"";""N"")&J2&DROITE(D2;3)&H2&G2;""FILL"")))))"
    alors que les colonnes peuvent etre placees dans n'importe quel ordre dans le fichier.

    Le besoin est de trouver une formule qui trouvera la colonne qui convient et redescendra prendre la donnee dans chaque ligne.

  7. #7
    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,
    J'ai pris l'option de faire le test logique en VBA et non pas dans une formule.
    Tixlee, pour faciliter l'écriture du test logique, voici comment j'ai modifié ton explication en ajoutant l'indentation afin d'avoir un pseudo-code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    'Si la valeur des cellules de la colonne « TS » est « NOK »
        'Alors la resultat de la colonne « KEY » sera « NOK »
    'Sinon Si la valeur des cellules de la colonne « TS » est « OK »
        'Et Si la valeur des cellules de la colonne « CP » est «WWWXXX » ou « YYYXXX » ou « UUUXXX » ou « ZZZXXX »
            'Alors la resultat de la colonne « KEY » sera « MOUT »
        'Et Si la valeur des cellules de la colonne « CP » est «AAAXXX » ou « BBBXXX » ou « GGGXXX »
            'Alors le resulat de la colonne « KEY » sera le concatenate de la colonne « DS », « DA », les 3 lettres de gauche de la colonne « CP » (par exemple AAA, BBB ou GGG), « DR », « VD »
        'Et Si la valeur des cellules de la colonne « CP » est «XXXCCC »
            'Alors le resulat de la colonne « KEY » sera le concatenate de la colonne « DS », « DA », les 3 lettres de droite de la colonne « CP » (par exemple CCC), « DR », « VD »
        'Et Si la valeur des cellules de la colonne « CP » est «XXXDDD » OU « XXXEEE » OU « XXXFFF »
            'Alors le resulat de la colonne « KEY » sera le concatenate de la colonne « DS » modifiee (c’est-a-dire si « DS » = « N », alors le resultat sera « K », sinon « N »), « CA », les 3 lettres de droite de la colonne « CP » (par exemple DDD, EEE ou FFF), « DR », « VD »
        'Sinon, le concatenate des cellules non remplies sera « FILL »
    Il faut que tu vérifie le test sur "XXXCCC" car le résultat est le même que sur le test précédent, si c'est correct on peut se passer de deux lignes, sinon il faut adapter le 'alors'

    Concrètement, le code (j'ai opté pour .find afin de déterminer les colonnes selon les titres, il y a plus court mais ça me semblait plus facile à comprendre)

    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
    48
    Sub AddColKEY()
    Dim Ws As Worksheet 'Dimension de la variable qui récupère la feuille
    Dim Ref_TS As Range, Ref_CP As Range, Ref_DS As Range, Ref_DA As Range, Ref_DR As Range, Ref_VD As Range, Ref_CA As Range
    Dim Col_TS As Byte, Col_CP As Byte, Col_DS As Byte, Col_DA As Byte, Col_DR As Byte, Col_VD As Byte, Col_CA As Byte
    Dim DerCol As Long, DerLig As Long, R As Long 'Variable pour boucle et définir la dernière colonne
     
    Set Ws = Sheets("LAPS") 'Affecte la feuille LAPS à la variable de type worksheet
     
    DerCol = Ws.Cells(1, Ws.Rows(1).Cells.Count).End(xlToLeft).Column 'Détermine la dernière colonne utilisée
    DerLig = Ws.Cells(Ws.Columns(1).Cells.Count, 1).End(xlUp).Row 'Détermine la dernière ligne utilisée
     
    Set Ref_TS = Ws.Range(Ws.Cells(1, 1), Ws.Cells(1, DerCol)).Find("TS") 'Détermine la cellule qui contient le titre "TS"
    Set Ref_CP = Ws.Range(Ws.Cells(1, 1), Ws.Cells(1, DerCol)).Find("CP")
    Set Ref_DS = Ws.Range(Ws.Cells(1, 1), Ws.Cells(1, DerCol)).Find("DS")
    Set Ref_DA = Ws.Range(Ws.Cells(1, 1), Ws.Cells(1, DerCol)).Find("DA")
    Set Ref_DR = Ws.Range(Ws.Cells(1, 1), Ws.Cells(1, DerCol)).Find("DR")
    Set Ref_VD = Ws.Range(Ws.Cells(1, 1), Ws.Cells(1, DerCol)).Find("VD")
    Set Ref_CA = Ws.Range(Ws.Cells(1, 1), Ws.Cells(1, DerCol)).Find("CA")
     
    Col_TS = Ref_TS.Column 'Récupère le numéro de colonne suivant le titre
    Col_CP = Ref_CP.Column
    Col_DS = Ref_DS.Column
    Col_DA = Ref_DA.Column
    Col_DR = Ref_DR.Column
    Col_VD = Ref_VD.Column
    Col_CA = Ref_CA.Column
     
    Ws.Cells(1, DerCol + 1) = "KEY" '2crit KEY
     
    For R = 2 To DerLig 'Boucle sur toutes les lignes remplies
        If Ws.Cells(R, Col_TS) = "NOK" Then 'test si la colonne TS de la ligne concernée contient "NOK"
            Ws.Cells(R, DerCol + 1) = "NOK" 'Résultat si oui
        ElseIf Ws.Cells(R, Col_TS) = "OK" Then 'Si pas NOK, test si OK (Et c'est le même principe pour les lignes ci-dessous)
            If Ws.Cells(R, Col_CP) = "WWWXXX" Or Ws.Cells(R, Col_CP) = "YYYXXX" Or Ws.Cells(R, Col_CP) = "UUUXXX" Or Ws.Cells(R, Col_CP) = "ZZZXXX" Then
                Ws.Cells(R, DerCol + 1) = "MOUT"
            ElseIf Ws.Cells(R, Col_CP) = "AAAXXX" Or Ws.Cells(R, Col_CP) = "BBBXXX" Or Ws.Cells(R, Col_CP) = "GGGXXX" Then
                Ws.Cells(R, DerCol + 1) = Ws.Cells(R, Col_DS) & Ws.Cells(R, Col_DA) & Left(Ws.Cells(R, Col_CP), 3) & Ws.Cells(R, Col_DR) & Ws.Cells(R, Col_VD)
            ElseIf Ws.Cells(R, Col_CP) = "XXXCCC" Then '!! c'est idem que le test ci-dessus, si correct alors ajouter un Or dans le test du dessus pour enlever ces 2 lignes
                Ws.Cells(R, DerCol + 1) = Ws.Cells(R, Col_DS) & Ws.Cells(R, Col_DA) & Left(Ws.Cells(R, Col_CP), 3) & Ws.Cells(R, Col_DR) & Ws.Cells(R, Col_VD)
            ElseIf Ws.Cells(R, Col_CP) = "XXXDDD" Or Ws.Cells(R, Col_CP) = "XXXEEE" Or Ws.Cells(R, Col_CP) = "XXXEEE" Then '!! c'est idem que le test ci-dessus, si correct alors ajouter un Or dans le test du dessus pour enlever ces 2 lignes
                Ws.Cells(R, DerCol + 1) = IIf(Ws.Cells(R, Col_DS) = "N", "K", "N") & Ws.Cells(R, Col_CA) & Left(Ws.Cells(R, Col_CP), 3) & Ws.Cells(R, Col_DR) & Ws.Cells(R, Col_VD)
            Else
                Ws.Cells(R, DerCol + 1) = "FILL"
            End If
        End If
    Next R
     
    End Sub

  8. #8
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Je parviens à une solution avec formules mais c’est limite embrouillamini.
    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
    48
    Sub Test()
    Dim TS As Range, CP As Range, DS As Range, DA As Range, DR As Range, VD As Range, CA As Range, C As Range, Plage As Range
        With Worksheets("LAPS")
            Set TS = .Rows(1).Find(what:="TS", LookIn:=xlValues, lookat:=xlWhole)
            Set CP = .Rows(1).Find(what:="CP", LookIn:=xlValues, lookat:=xlWhole)
            Set DS = .Rows(1).Find(what:="DS", LookIn:=xlValues, lookat:=xlWhole)
            Set DA = .Rows(1).Find(what:="DA", LookIn:=xlValues, lookat:=xlWhole)
            Set DR = .Rows(1).Find(what:="DR", LookIn:=xlValues, lookat:=xlWhole)
            Set VD = .Rows(1).Find(what:="VD", LookIn:=xlValues, lookat:=xlWhole)
            Set CA = .Rows(1).Find(what:="CA", LookIn:=xlValues, lookat:=xlWhole)
            If TS Is Nothing Then MsgBox "TS Column Not Found": Exit Sub
            If CP Is Nothing Then MsgBox "CP Column Not Found": Exit Sub
            If DS Is Nothing Then MsgBox "DS Column Not Found": Exit Sub
            If DA Is Nothing Then MsgBox "DA Column Not Found": Exit Sub
            If DR Is Nothing Then MsgBox "DR Column Not Found": Exit Sub
            If VD Is Nothing Then MsgBox "VD Column Not Found": Exit Sub
            If CA Is Nothing Then MsgBox "CA Column Not Found": Exit Sub
            Set C = .Cells(1, Columns.Count).End(xlToLeft).Offset(0, 1)
            C.Value = "KEY"
            C.Offset(1, 0).FormulaLocal = "=SI(" & .Cells(2, TS.Column).Address(0, 0) & _
            "=""NOK"";""NOK"";SI(OU(" & .Cells(2, CP.Column).Address(0, 0) & _
            "=""UUUXXX"";" & .Cells(2, CP.Column).Address(0, 0) & _
            "=""YYYXXX"";" & .Cells(2, CP.Column).Address(0, 0) & _
            "=""WWWXXX"";" & .Cells(2, CP.Column).Address(0, 0) & _
            "=""ZZZXXX"");""MOUT"";SI(OU(" & .Cells(2, CP.Column).Address(0, 0) & _
            "=""AAAXXX"";" & .Cells(2, CP.Column).Address(0, 0) & _
            "=""BBBXXX"";" & .Cells(2, CP.Column).Address(0, 0) & _
            "=""GGGXXX"");" & .Cells(2, DS.Column).Address(0, 0) & "&" & .Cells(2, DA.Column).Address(0, 0) & _
            "&GAUCHE(" & .Cells(2, CP.Column).Address(0, 0) & _
            ";3)&" & .Cells(2, DR.Column).Address(0, 0) & "&" & .Cells(2, VD.Column).Address(0, 0) & _
            ";SI(" & .Cells(2, CP.Column).Address(0, 0) & _
            "=""XXXCCC"";" & .Cells(2, DS.Column).Address(0, 0) & "&" & .Cells(2, DA.Column).Address(0, 0) & _
            "&DROITE(" & .Cells(2, CP.Column).Address(0, 0) & _
            ";3)&" & .Cells(2, DR.Column).Address(0, 0) & "&" & .Cells(2, VD.Column).Address(0, 0) & _
            ";SI(OU(" & .Cells(2, CP.Column).Address(0, 0) & _
            "=""XXXDDD"";" & .Cells(2, CP.Column).Address(0, 0) & _
            "=""XXXEEE"";" & .Cells(2, CP.Column).Address(0, 0) & _
            "=""XXXFFF"");SI(" & .Cells(2, DS.Column).Address(0, 0) & _
            "=""N"";""K"";""N"")&" & .Cells(2, CA.Column).Address(0, 0) & _
            "&DROITE(" & .Cells(2, CP.Column).Address(0, 0) & _
            ";3)&" & .Cells(2, DR.Column).Address(0, 0) & "&" & .Cells(2, VD.Column).Address(0, 0) & _
            ";""FILL"")))))"
            Set Plage = C.Offset(1, 0).Resize(.Cells(Rows.Count, "A").End(xlUp).Row - 1, 1)
            C.Offset(1, 0).AutoFill Destination:=Plage
        End With
        Set Plage = Nothing: Set C = Nothing
        Set TS = Nothing: Set CP = Nothing: Set DS = Nothing: Set DA = Nothing: Set DR = Nothing: Set VD = Nothing
    End Sub
    Cordialement.

Discussions similaires

  1. [VBA] Conditions
    Par Virgile59 dans le forum Access
    Réponses: 2
    Dernier message: 14/10/2005, 15h38
  2. [VBA] Condition d'ouverture d'état
    Par Virgile59 dans le forum Access
    Réponses: 1
    Dernier message: 14/10/2005, 11h26
  3. [VBA] Condition - opérateurs logiques
    Par Virgile59 dans le forum Access
    Réponses: 6
    Dernier message: 07/10/2005, 10h22

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