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 :

Formule SI/ET/OU en VBA


Sujet :

Macros et VBA Excel

  1. #41
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    des cellules vide mais a l’intérieur il y a des espaces
    je suis autodidacte et débutant mais j'ai jamais rencontré un tel cas !!! bizarre !!! un petit exemple svp !!

  2. #42
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour,

    Citation Envoyé par OBADJ Voir le message
    Mais sinon j'ai un soucis sur mon fichier d'origine dans ma colonne 17 j'ai des cellules vide mais a l’intérieur il y a des espaces donc
    Une cellule vide c'est une cellule qui ne contient rien.
    Une cellule avec des espaces à l'intérieur, c'est pas une cellule vide !
    J'ajouterais qu'une cellule qui contient un texte vide ("") n'est pas une cellule vide.

    Pour éliminer les espaces superflus, utilises la fonction TRIM()

  3. #43
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Décembre 2018
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2018
    Messages : 121
    Par défaut
    Je ne comprends pas pourquoi la macro s'arrète à 2500 lignes lorsque je mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test1()
    With Sheets("SUIVTRANS EN COURS")
    Derligne = .Range("A" & Rows.Count).End(xlUp).Row
     For j = 537 To Derligne
     
     
           If .Cells(j, 14) = "" And .Cells(j, 17) = "" And CDbl(.Cells(j, 19)) < 15000 And (.Cells(j, 8).Value = "002160" Or .Cells(j, 8).Value = "001170" Or .Cells(j, 8).Value = "001121") Then
            .Cells(j, 13) = "PAS DE DECOMPTE"
            Else: Cells(j, 13) = "DECOMPTE A EMETTRE"
     
            End If
            Next j
            End With
    End Sub
    Et lorsque je mets de j=2 to Derligne, ça bloque directe la macro ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test1()
    With Sheets("SUIVTRANS EN COURS")
    Derligne = .Range("A" & Rows.Count).End(xlUp).Row
     For j = 2 To Derligne
     
     
           If .Cells(j, 14) = "" And .Cells(j, 17) = "" And CDbl(.Cells(j, 19)) < 15000 And (.Cells(j, 8).Value = "002160" Or .Cells(j, 8).Value = "001170" Or .Cells(j, 8).Value = "001121") Then
            .Cells(j, 13) = "PAS DE DECOMPTE"
            Else: Cells(j, 13) = "DECOMPTE A EMETTRE"
     
            End If
            Next j
            End With
    End Sub

  4. #44
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut Obadj,

    Exécute la procédure pas à pas.
    Peut-être un problème avec Derligne
    Toujours en pas à pas, continue l'exécution sur un cas à la 1ère condition, un autre à la 2nde.
    Ceci afin de vérifier si tes conditions reportées dans le code répondent bien à ton algorithme.

  5. #45
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Janvier 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2019
    Messages : 7
    Par défaut COmparaison sur VBA
    Bonjour;

    Je cherche de comparer un indice (DX-8 par exemple) qui est déjà inséré dans un Combobox1 avec d'autre indice;

    S'il est sélectionné j’insère un autre indice dans un autre Combobox2 comme suit : ComboBox2.AddItem ("7T-L").

    La première condition qui me manque

    Merci de votre aide

  6. #46
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    cousin bilgates
    ouvrir votre propre discussion et explique bien ce que tu cherches à faire avec un exemple représentatif et tu aura de l'aide
    BONNE JOURNEE

  7. #47
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par OBADJ Voir le message
    Je ne comprends pas pourquoi la macro s'arrète à 2500 lignes lorsque je mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test1()
    With Sheets("SUIVTRANS EN COURS")
    Derligne = .Range("A" & Rows.Count).End(xlUp).Row
     For j = 537 To Derligne
     
     
           If .Cells(j, 14) = "" And .Cells(j, 17) = "" And CDbl(.Cells(j, 19)) < 15000 And (.Cells(j, 8).Value = "002160" Or .Cells(j, 8).Value = "001170" Or .Cells(j, 8).Value = "001121") Then
            .Cells(j, 13) = "PAS DE DECOMPTE"
            Else: Cells(j, 13) = "DECOMPTE A EMETTRE"
     
            End If
            Next j
            End With
    End Sub
    Et lorsque je mets de j=2 to Derligne, ça bloque directe la macro ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test1()
    With Sheets("SUIVTRANS EN COURS")
    Derligne = .Range("A" & Rows.Count).End(xlUp).Row
     For j = 2 To Derligne
     
     
           If .Cells(j, 14) = "" And .Cells(j, 17) = "" And CDbl(.Cells(j, 19)) < 15000 And (.Cells(j, 8).Value = "002160" Or .Cells(j, 8).Value = "001170" Or .Cells(j, 8).Value = "001121") Then
            .Cells(j, 13) = "PAS DE DECOMPTE"
            Else: Cells(j, 13) = "DECOMPTE A EMETTRE"
     
            End If
            Next j
            End With
    End Sub

    Bonjour,


    j'avoue ne jamais l'avoir fait (ni testé ) mais VBA accepte-t'il bien les boucles dans un With ???

  8. #48
    Membre expérimenté
    Homme Profil pro
    chef de projet transverse MOE
    Inscrit en
    Janvier 2015
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : chef de projet transverse MOE
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2015
    Messages : 121
    Par défaut
    Oui oui. Les boucles dans les boucles fonctionnent bien (Tant que les lignes de fin de boucles sont bien placées )

  9. #49
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 242
    Par défaut
    Bonjour,
    J'ai pas regardé en détail, mais il manque un point avant Cells dans la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Else: Cells(j, 13) = "DECOMPTE A EMETTRE"

  10. #50
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Décembre 2018
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2018
    Messages : 121
    Par défaut
    Bonjour à tous,

    La formule marche mais elle ne prends pas en compte la colonne 17 qui doit être = à rien.... Pourtant la formule l'indique bien....

    Ensuite, lorsque que je lance la macro, elle veut pas aller jusqu'à la dernière ligne donc du coup j'indique qu'il faut qu'il prenne la ligne de 537 à 4000 par exemple. Sauf que la, la macro ce lance et s’arrête à la ligne 2183 et ça m'affiche direct un message d' "erreur d'éxécution '13 : incomptaibilité de type" Et ca me surligne cette ligne en jaune alors qu'elle est totalement correcte !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If .Cells(j, 14) = "" And .Cells(j, 13) = "" And .Cells(j, 17) = "" And CDbl(.Cells(j, 19)) < 15000 And (.Cells(j, 8).Value = "002160" Or .Cells(j, 8).Value = "001170" Or .Cells(j, 8).Value = "001121") Then
    Vraiment je ne comprends pas pourquoi il me fait ça et même sur les lignes qu'il me sort, quand je lance la macro jusqu'à qu'elle bloque à la ligne 2183 : les résultats ne prennent pas en compte ma colonne 17 qui doit être vide ... !!!

    Merci de votre AIDE LES AMIS !

  11. #51
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par OBADJ Voir le message
    La formule marche mais elle ne prends pas en compte la colonne 17 qui doit être = à rien.... Pourtant la formule l'indique bien....
    Tu es sûr que c'est bien la colonne 17 que tu veux tester ?
    Comme dans les messages précédent il a pu être vérifié que tu t'es trompé 3 fois de numéro de colonne, c'est sans doute le première chose à vérifier.
    Ensuite, il faudrait vérifier que cette colonne est REELLEMENT vide et que ce vide n'est pas qu'apparent : elle ne contiendrait pas des espaces, des tabulations ou autres caractères invisibles...

    Sauf que la, la macro ce lance et s’arrête à la ligne 2183 et ça m'affiche direct un message d' "erreur d'éxécution '13 : incomptaibilité de type" Et ca me surligne cette ligne en jaune alors qu'elle est totalement correcte !
    Excel semble penser qu'elle n'est pas correcte et Excel est têtu.
    Si tu ne montres pas le contenu de cette ligne, il sera difficile de t'expliquer ce qui cause le problème dans cette ligne.

  12. #52
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Décembre 2018
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2018
    Messages : 121
    Par défaut
    Oui je confirme que la colonne 17 fait partir des colonne égale à rien.

    J'ai essayé de faire autrement, en copiant la formule =SI dans la macro : Vous en pensez quoi SVP ?

    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
    Sub macroDecompte()
     
    With Sheets("SUIVTRANS EN COURS")
     
    Derligne = .Range("A" & Rows.Count).End(xlUp).Row
     
    For j = 2 To Derligne
     
        Do
     
        If .Cells(j, 13) = "" And Cells(j, 17) = "" And Cells(j, 14) = "" Then
            .Cells(j, "M") = .FormulaR1C1 = _
            "=IF(AND(RC[4]="""",OR(RC[-5]=""001121"",RC[-5]=""001170"",RC[-5]=""002160""),ABS(RC[6])<15000),""PAS DE DECOMPTE"",""DECOMPTE A EMETTRE"")"
            End If
     
    j = j + 1
    Loop Until Cells(j + 1, "a") = ""
     
    'copier coller valeur de la col M
    Next j
    End With
     
    End Sub

  13. #53
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Décembre 2018
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2018
    Messages : 121
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Tu es sûr que c'est bien la colonne 17 que tu veux tester ?
    Comme dans les messages précédent il a pu être vérifié que tu t'es trompé 3 fois de numéro de colonne, c'est sans doute le première chose à vérifier.
    Ensuite, il faudrait vérifier que cette colonne est REELLEMENT vide et que ce vide n'est pas qu'apparent : elle ne contiendrait pas des espaces, des tabulations ou autres caractères invisibles...


    Excel semble penser qu'elle n'est pas correcte et Excel est têtu.
    Si tu ne montres pas le contenu de cette ligne, il sera difficile de t'expliquer ce qui cause le problème dans cette ligne.
    Oui je suis sur que la colonne 17 en fait partie !

    La ligne je te l'avais mis dans mon message précédent. Voici la ligne ou ça bloque, je l'ai mise ne orange foncé ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If .Cells(j, 14) = "" And .Cells(j, 17) = "" And CDbl(.Cells(j, 19)) < 15000 And (.Cells(j, 8).Value = "002160" Or .Cells(j, 8).Value = "001170" Or .Cells(j, 8).Value = "001121") Then
    .Cells(j, 13) = "PAS DE DECOMPTE"
            Else: Cells(j, 13) = "DECOMPTE A EMETTRE"

  14. #54
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Si tu ne t'en sort pas avec les numéros de colonnes, utilises leurs lettres :
    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
     
    Sub Test()
     
        Dim Cel_N
        Dim Cel_M
        Dim Cel_Q
        Dim Cel_S
        Dim Cel_H
        Dim J As Long
     
        With Sheets("SUIVTRANS EN COURS")
     
             For J = 2 To .Range("A" & Rows.Count).End(xlUp).Row
     
                Cel_N = .Cells(J, "N").Value
                Cel_M = .Cells(J, "M").Value '<--je ne suis pas sûr de ceci puisque c'est la cellule devant recevoir la valeur !!!
                Cel_Q = .Cells(J, "Q").Value
                Cel_S = .Cells(J, "S").Value
                Cel_H = .Cells(J, "H").Value
     
                If Cel_N = "" And Cel_M = "" And Cel_Q = "" And CDbl(Cel_S) < 15000 And (Cel_H = "002160" Or Cel_H = "001170" Or Cel_H = "001121") Then
     
                    .Cells(J, "M").Value = "PAS DE DECOMPTE"
     
                Else
     
                    Cells(J, "M").Value = "DECOMPTE A EMETTRE"
     
                End If
     
            Next J
     
        End With
     
    End Sub
    J'ai tout de même un doute sur le test de la colonne M :
    If .Cells(j, 14) = "" And .Cells(j, 13) = "" And .Cells(j, 17) = "" And CDbl(.Cells(j, 19)) < 15000 And (.Cells(j, 8).Value = "002160" Or .Cells(j, 8).Value = "001170" Or .Cells(j, 8).Value = "001121") Then
    car c'est celle qui est sensée recevoir la valeur ???

  15. #55
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par OBADJ Voir le message
    La ligne je te l'avais mis dans mon message précédent. Voici la ligne ou ça bloque, je l'ai mise ne orange foncé ci-dessous :
    Je parlais de la ligne de données dans Excel.

  16. #56
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Décembre 2018
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2018
    Messages : 121
    Par défaut
    Bonjour, après de nombreuses heures à réfléchir dessus, ma colonne 17 comporte de nombreux espaces ainsi que des caractère spéciaux.... et je suis obligé" de corriger cette colonne pour que mon autre marco fonctionne

    J'aimerais savoir comment je pourrais modifier cela : "05 10 2018" par lui dire qu'il supprime tous les espaces avant, après et au milieu des caractère dans la cellule et qu'il me remplace par "05/10/2018" sans espaces.

    J'ai déjà coder ça sauf qu'il faut que je rajoute qu'il me rajoute les "/" entre les chriffre à la place des espaces par exemple entre le "05" et le "10" et ainsi de suite


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub espaces()
     
    With Sheets("SUIVTRANS EN COURS")
        Derligne = .Range("A" & Rows.Count).End(xlUp).Row
     
        For j = 2 To Derligne
     
    Cells(j, 17) = Application.Trim(Application.Substitute(Cells(j, 17), Chr(160), Chr(32)))
     
    Next j
     
        End With
    End Sub

  17. #57
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Pour enlever les espaces avant et après, voir la fonction Trim().
    https://docs.microsoft.com/fr-fr/off...trim-functions
    Pour changer les espaces "intérieurs" en /, voir la fonction Replace().
    https://docs.microsoft.com/fr-fr/off...place-function

    Mais, à mon avis, tu ne devrais pas passer par la fonction Replace() mais par une combinaison des fonctions Mid() et DateSerial() pour être sûr d'avoir une date comme résultat.
    https://docs.microsoft.com/fr-fr/off...erial-function
    https://docs.microsoft.com/fr-fr/off...p/mid-function

  18. #58
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Décembre 2018
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2018
    Messages : 121
    Par défaut
    Bonjour Menhir,

    Je ne vois pas comment faire... peux-tu m'aider stp
    Comment supprimer les espaces entre, avant et après les caractères ainsi que les cellule vide qui comporte des espace :
    exemple : "05 10 2018"
    Il faut que je rajoute qu'il me rajoute les "/" entre les chiffres à la place des espaces par exemple entre le "05" et le "10" et ainsi de suite

    Voici le fichier ou j'ai mis juste la colonne 17 qui nous bloque pour la macro : KOBD SUPPRESPACES.xlsx

  19. #59
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Décembre 2018
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2018
    Messages : 121
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Pour enlever les espaces avant et après, voir la fonction Trim().
    https://docs.microsoft.com/fr-fr/off...trim-functions
    Pour changer les espaces "intérieurs" en /, voir la fonction Replace().
    https://docs.microsoft.com/fr-fr/off...place-function

    Mais, à mon avis, tu ne devrais pas passer par la fonction Replace() mais par une combinaison des fonctions Mid() et DateSerial() pour être sûr d'avoir une date comme résultat.
    https://docs.microsoft.com/fr-fr/off...erial-function
    https://docs.microsoft.com/fr-fr/off...p/mid-function
    Voici le code que j'ai tenter mais sa bloque à la dernière ligne que j'ai mis en orange foncé du code :

    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
    Sub ConvertDate()
    
    Dim i As Long, Temp As String
    
    With Sheets("SUIVTRANS EN COURS")
        Derligne = .Range("A" & Rows.Count).End(xlUp).Row
        For i = 2 To Derligne
            If Not IsEmpty(.Cells(i, 17)) And Not IsError(.Cells(i, 17)) Then
                Temp = Replace(.Cells(i, 17), " ", "")
                .Cells(i, 17) = DateSerial(CInt(Right(Temp, 4)), CInt(Mid(Temp, 3, 2)), CInt(Left(Temp, 2)))
            End If
        Next i
    End With
    
    End Sub

  20. #60
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par OBADJ Voir le message
    Une nouvelle fois, je te conseille de compter sur tes doigts pour déterminer le bon numéro de position.

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. introduire formule dans une cellule via VBA
    Par lilly91 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/02/2010, 17h16
  2. [XL-2007] Résulats différents avec Datdif dans formule Excel et Datediff en VBA ?
    Par Jay29 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/10/2009, 17h12
  3. Inscrire une formule dans une cellule par VBA
    Par marc56 dans le forum Excel
    Réponses: 6
    Dernier message: 24/11/2008, 00h57
  4. Formule excel non reconnue en VBA
    Par geopolux dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/10/2008, 19h05
  5. Formule et variable (déplacé forum vba)
    Par choupinette370 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/11/2007, 00h08

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