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 :

Aide userform( insertion données dans classeur)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 164
    Par défaut
    Citation Envoyé par bbil
    pour le code de verif ... on peu faire quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Function VerifieSiExiste(stNomPrenom) as boolean
      Dim r As Range
      With Sheets("Clients") 'C9 Etant l'entête de la colonne Nom-prénom
        Set r = .Range(.Range("C9"), .Range("C65535").End(xlUp))
      End With
      VerifieSiExiste = Not r.Find(stNomPrenom) Is Nothing
    End Function
    bon, comme prevu j'ai pas reussi a integrer le code
    je l'ai placé entre le moment ou il faut appuyer sur "confirmer ajout " et le moment ou il y a recherche de la derniere ligne libre mais rien a faire.
    j'ai aussi essayer de rajouter ma condition : verification d'un doublon et si c'est le cas : affichage d'une alerte mais comme tu t'en doute , ca merde

    je sent que je vais acheter une doc VBA et m'y plongé serieusement

    ps : pour le tri super coool , ca marche , le projet se finalise
    Merci encore

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    en fait ... il faut mettre le code de la fonction ... en fin du code de l'user form 1.. par exemple //

    puis modifier le code du pouton Ajouter...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ....
        TextBox14 = ""
     
    Else
        'recherche la derniere ligne vide en feuille client
        If VerifieSiExiste(TextBox15) Then
         MsgBox ("Client " & TextBox15 & " déjà existant")
        Else
     
        With Sheets("clients")
    ...

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 164
    Par défaut Aide userform( insertion données dans classeur)
    Citation Envoyé par bbil
    en fait ... il faut mettre le code de la fonction ... en fin du code de l'user form 1.. par exemple //

    puis modifier le code du pouton Ajouter...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ....
        TextBox14 = ""
     
    Else
        'recherche la derniere ligne vide en feuille client
        If VerifieSiExiste(TextBox15) Then
         MsgBox ("Client " & TextBox15 & " déjà existant")
        Else
     
        With Sheets("clients")
    ...
    Salut et merci
    je comprend bien pourquoi ca ne marchais pas , car si je ne faisait pas appel a la fonction c'est sur que rien ne pouvais se passer

    Par contre j'ai copié la fonction a la fin de mon userform et fait appel a la fonction avant la recherche de la derniere ligne vide mais qd j'essaie , j'ai bien le msg box qui s'affiche mais le nouveau client ( en double ) s'affiche qd meme .
    je pense que si le client existe , il faut donc que je stoppe la fonction au moment du msgbox ( avec remise a zero des champs) est il possible de mettre un end sub ou alors IF .( fonction verif trouve un double)..Then .. ( affichage msgbox + raz champs) Else (poursuivre fonction)

    je commence a comprendre , mais au fur et a mesure qu'on avance , je melange un peu tout les if et else , c'est pas evident

    merci

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Juste un conseil en passant, dans le ligne de code
    ThisWorkbook.Sheets("Clients").Range("C9").CurrentRegion.Sort Key1:=Range("C9"), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    Header:=xlGuess signifit qu'Excel définit si un entête existe ou non. Il arrive qu'Excel se trompe. Mets plutôt "Header:= xlYes" si tu as un entête ou xlNo dans le cas contraire.

    Juste en passant.

    A+

Discussions similaires

  1. [VS 2005]Insertion données dans SQL Express de Visual Studio
    Par D4rkTiger dans le forum Accès aux données
    Réponses: 1
    Dernier message: 06/09/2007, 09h27
  2. Probleme insertion données dans base ACCESS
    Par Ice-tea dans le forum SGBD
    Réponses: 7
    Dernier message: 20/08/2007, 14h38
  3. Réponses: 2
    Dernier message: 18/03/2007, 19h02
  4. [SQL] Pb d'insertion donnée dans table, pb requête SQL
    Par PuppeT mAsTer dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 03/07/2006, 11h26
  5. [DOM XML] Insertion données dans fichier XML avec PHP pour Flash ?
    Par ExSter dans le forum Bibliothèques et frameworks
    Réponses: 17
    Dernier message: 10/05/2006, 11h16

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