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 :

Traduire en VBA une condition


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations forums :
    Inscription : Juin 2011
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Traduire en VBA une condition
    Bonsoir,

    Je vous expose ce problème qui me permettra de terminer un petit programme.

    Comme rédiger le code VBA avec les conditions suivantes :

    J'ai la cellule L6 d'une feuille excel qui devra contenir les informations des cellules :

    I20 et A20 (si I20 de vide on ne tient pas compte de A20) + I21 et A21 (si I21 de vide on tient pas compte de A21)+ I22 et A22 (si I22 de vide on tient pas compte de A22).

    Merci.

  2. #2
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Bonsoir
    Essaies de reformuler ton explication.
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations forums :
    Inscription : Juin 2011
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    En fait cela ressemblerai à la formule suivante (présente en L6) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CONCATENER("1" & I20; "2" & I21; "3" & I22)
    Cette formule fonctionne SAUF que si en I20 il n'y a rien de saisi je voudrai que le 1 ne s'affiche pas.

    Merci.

  4. #4
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CONCATENER(SI(I20="";"";A20 & I20); SI(I21="";"";A21 & I21); SI(I22="";"";A22 & I22))
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations forums :
    Inscription : Juin 2011
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Merci pour ta réponse mais moi j'ai trouvé cette formule et qui fonctionne.

    =CONCATENER(SI(I20<>"";"1" & I20;"");SI(I21<>"";"2" & I21;"");SI(I22<>"";"3" & I22;""))

    Cette formule je voudrai la traduire en code VBA et la pour moi en tant qu'amateur je sais pas faire.

    Merci.

  6. #6
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Pour commencer, un petit code pédagogique est simpliste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Essai()
    Dim Res As String
     
    If Range("I20") <> "" Then Res = 1 & Range("I20")
    If Range("I21") <> "" Then Res = Res & 2 & Range("I21")
    If Range("I22") <> "" Then Res = Res & 3 & Range("I22")
    Range("L6") = Res
    End Sub
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations forums :
    Inscription : Juin 2011
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Merci beaucoup.

    Juste pour mes connaissance : que veut dire Res ?

    Merci.

  8. #8
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Essai2()
    Dim NimporteQuelNomDeVariable As String
     
    If Range("I20") <> "" Then NimporteQuelNomDeVariable = 1 & Range("I20")
    If Range("I21") <> "" Then NimporteQuelNomDeVariable = NimporteQuelNomDeVariable & 2 & Range("I21")
    If Range("I22") <> "" Then NimporteQuelNomDeVariable = NimporteQuelNomDeVariable & 3 & Range("I22")
    Range("L6") = NimporteQuelNomDeVariable
    End Sub
    Regarde d'abord les tutoriels pour commencer.

    Edit:
    Ici dans cette discussion et dans la réponse #6 de Kiki, tu as 3 liens intéressants.
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations forums :
    Inscription : Juin 2011
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    En tout cas merci pour tes explications et ta patience.

    Demain je concevrai mon petit programme avec ces informations.

    Bonne nuit.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Code VBA à une condition
    Par thomasdu40 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/07/2012, 09h05
  2. comment ajouter une condition if dans code VBA
    Par misig dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 13/12/2007, 00h03
  3. [Excel VBA] Faire une condition sous Excel
    Par ANTMA dans le forum Excel
    Réponses: 3
    Dernier message: 03/08/2007, 11h20
  4. [VBA-EXCEL]-condition pour ouvrir une msgbox
    Par captaine93 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/08/2006, 20h51
  5. Réponses: 4
    Dernier message: 08/08/2006, 15h04

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