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 :

[XL_2010] Problème fonction if then else


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Juillet 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 12
    Points : 12
    Points
    12
    Par défaut [XL_2010] Problème fonction if then else
    Bonjour à tous,

    J'ai un problème avec une fonction if then else que je n'arrive pas a faire fonctionner correctement.
    Le but de ma macro est d'incrémenter La cellule A1 avec une textbox mais si l'on recommence l'opération et que la cellule à 1 est déja remplie la cellule à incrémenter doit alors être A2.
    En gros : Si A1 = "" alors A1 = textbox1 Sinnon A2= texbox1

    le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub TextBox1_Change()
         If Sheets("Feuil1").[A1] = ("") Then
              Sheets("Feuil1").[A1] = TextBox1.Value
         Else
              Sheets("Feuil1").Range("A2") = TextBox1.Value
         End If
     
    End Sub
    je n'arrive pas a joindre le fichier on me dit qu'il est non valide!

    Merci!

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Essaie comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        Dim I As Long, nbLignes As Long
     
        nbLignes = Sheets("Feuil1").Cells(Rows.Count, "A").End(xlUp).Row
     
        For I = 1 To nbLignes
            If Sheets("Feuil1").Range("A" & I) = "" Then
                Sheets("Feuil1").Range("A" & I) = textbox1.Value
                Exit For
            End If
        Next
    MPi²

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Juillet 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Merci!
    Mais la valeur s'inscrit une première fois mais pas les autres fois avec ce code

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    J'ai peut-être mal saisi.
    Est-ce que tu remplis seulement A1 et A2 ou ça peut continuer A3, A4,... ?

    Ça devrait fonctionner tant que tu changes le textbox1
    MPi²

  5. #5
    Membre à l'essai
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Juillet 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Cela peux continuer jusqu'a l'infini enfin c'est le but, mais la même A2 ne s'incrémente pas.

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Ton textbox est sur un Userform ?
    Lorsque tu sors du textbox, ça devrait changer la première cellule vide la colonne A de la feuille Feuil1.
    MPi²

  7. #7
    Membre à l'essai
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Juillet 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    J'ai mis en pièce jointe le fichier pour faciliter les choses.

    Merci
    Fichiers attachés Fichiers attachés

  8. #8
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub test()
    Dim L As Long
    L = 1
    Do While Sheets("Feuil1").Cells(L, "A") <> ""
        L = L + 1
    Loop
    Sheets("Feuil1").Cells(L, "A") = "toto"
    End Sub
    Dernière modification par AlainTech ; 05/09/2014 à 08h16. Motif: Suppression de la citation inutile

  9. #9
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Essaie comme ceci pour voir.
    Ça va inscrire la valeur du textbox sur la première ligne vide
    Pour ce qui est de l'incrémentation, je ne suis pas certain de bien 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
    Private Sub CommandButton1_Click()
        Dim I As Long, nbLignes As Long
     
        nbLignes = Sheets("Feuil1").Cells(Rows.Count, "A").End(xlUp).Row
     
        For I = 1 To nbLignes + 1
            If Sheets("Feuil1").Range("A" & I) = "" Then
                Sheets("Feuil1").Range("A" & I) = TextBox1.Value
                Exit For
            End If
        Next
     
        UserForm1.Hide
    End Sub
    MPi²

  10. #10
    Membre à l'essai
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Juillet 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Super ça fonctionne!

    Merci!

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

Discussions similaires

  1. [XL-2010] Problème sur la fonction IF THEN ELSE
    Par ValerieH34 dans le forum Excel
    Réponses: 2
    Dernier message: 18/05/2015, 16h22
  2. Réponses: 7
    Dernier message: 08/06/2011, 16h49
  3. Problème avec if-then-else
    Par pongping dans le forum Prolog
    Réponses: 6
    Dernier message: 27/10/2008, 23h00
  4. problème avec If then Else
    Par thomas_wagner dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/11/2007, 01h32
  5. fonction if/then/else dans une requete Access
    Par steve38 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 24/12/2006, 17h09

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