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 :

un loupé dans ce code [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    sécurité
    Inscrit en
    Septembre 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Septembre 2012
    Messages : 197
    Par défaut un loupé dans ce code
    Bonjour le Forum

    Je viens vers vous pour un petit conseil sur un code qui sert à modifier des informations.

    Voila le principe :
    1) A l'aide d'une liste déroulante (Combobox5) j'effectue une recherche qui affiche dans des textbox les infos concernant la recherche.
    2) je click sur bouton modifier
    3) un msg demande "Confirmez-vous ces modifications ?" si non on quitte la procedure si oui on enregistre.
    4) à la suite de l'enregistrement on efface tout les objets macro "RAZ" puis un msg "Les modifications ont bien été effectuées." de confirmation s'affiche.
    5) seulement après les infos s'enregistre sur la feuille.

    Ce que j'aimerai c'est que les infos s'enregistre entre le 3 et le 4 (chose que je suis arrivé à faire pour un nouveau enregistrement) mais pas pour les modifications, donc je ne comprends pas ou j'ai l'erreur (si il y a erreur).

    je vous joint mon code qui sert à modifier.
    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
    '**bouton modifier par rapport à la comobox5
    Private Sub CommandButton2_Click()
    Dim lig As Integer
     
    If ComboBox5 = "" Then
    MsgBox ("Veuillez sélectionner un nom dans la liste recherche !")
    Exit Sub
    End If
     
      If MsgBox("Confirmez-vous ces modifications ?", vbYesNo, "Demande de confirmation") = vbNo Then
       Exit Sub
      Else
     With Sheets("Coordonnées") ' feuille ou sont mes infos
      lig = .Columns("B").Find(What:=Label19, after:=Range("B3"), Lookat:=xlWhole).Row ' chercher dans la colonne B , mon élément de référence
      .Cells(lig, "C").Value = Application.Proper(Me.ComboBox1) ' va porter les infos sur la bonne ligne
      '.Cells(lig, "D") = ComboBox5
      .Cells(lig, "E") = UCase(Me.ComboBox2)
      .Cells(lig, "F") = Application.Proper(Me.ComboBox3)
      .Cells(lig, "G") = UCase(Me.ComboBox4)
      .Cells(lig, "H") = CDate(Me.TextBox3)
      .Cells(lig, "I") = CDate(Me.TextBox4)
      .Cells(lig, "J") = (Me.TextBox5)
      .Cells(lig, "K") = (Me.TextBox6)
      .Cells(lig, "L") = (Me.TextBox8)
      .Cells(lig, "M") = UCase(Me.TextBox7)
      .Cells(lig, "N") = Format(Me.TextBox9.Value, "00"".""00"".""00"".""00"".""00")
      .Cells(lig, "O") = (Me.TextBox10)
      .Cells(lig, "P") = (Me.TextBox11)
     End With
       RAZ  'efface tout
       MsgBox "Les modifications ont bien été effectuées."
    End If
     
     
     If MsgBox("Souhaitez-vous effectuer une nouvelle modification ?", vbYesNo, "Demande de confirmation") = vbYes Then
        Unload Me
        UF_Enregistrement.Show
       Else
        Fermer_UFEnregistrement
     End If
     
    End Sub
    Merci d'avance de votre aide et si vous avez besoin d'autres renseignements, pas de problème.

  2. #2
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    Bonjour à tous,

    A moins d'avoir raté quelque chose, mais a priori les enregistrements se font tout de suite.
    Pour avoir le message avant la RAZ, il suffit d'inverser les lignes 30 et 31

  3. #3
    Membre confirmé
    Homme Profil pro
    sécurité
    Inscrit en
    Septembre 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Septembre 2012
    Messages : 197
    Par défaut
    Bonjour HopPopPop

    pseudo original et amusant .

    Merci d'avoir pris du temps pour mon post. C'est bien ce qu'il me doutais que le code paraissait correct mais sur le fichier l'enregistrement des données s'effectue vraiment à la fin du dernier msgbox qui demande si on veux ou pas effectuer un nouveau enregistrement.
    Je ne comprend pas pourquoi !!

    Je vais continuer de chercher encore un peu et laisse le post ouvert, on ne sait jamais.

    merci encore

    Cdlt

  4. #4
    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
    Bonjour,

    bon lu ton code et il y a une chose particulièrement qui me chiffonne c'est que tu boucles pas.

    personnellement j'aurais fait un "do ... loop while" sur ton dernier Msgbox ce qui est relativement simple

    de plus "unload" c'est déchargement mémoire de l'UF ... donc a quoi sert ton RAZ ?

    et enfin si nouvelle modification tu décharges après un RAZ (que je suppose que c'est une macro) ... Bizarre

    A+

  5. #5
    Membre confirmé
    Homme Profil pro
    sécurité
    Inscrit en
    Septembre 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Septembre 2012
    Messages : 197
    Par défaut
    Bonjour Igloobel

    Merci pour tes conseils.

    C'est vrai quand te lisant il y a des choses bizarre !! (je ne suis qu'un petit amateur encore ) c'est parce que j'ai récupéré des modèles par ci par la et ai essayé des choses qui sont resté sans y faire attention par la suite.

    j'avais mis le RAZ afin de vider les objets mais je m'étais rendu compte que les combobox ne se remettaient pas a jour, j'ai donc ajouté Unload.

    Si non ton idée avec "do ... loop while" ça ressemble à quoi ?


    Cdlt

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

Discussions similaires

  1. [C#] Control user dans le code caché
    Par pc152 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 07/05/2004, 06h36
  2. [langage] algo de bissection dans mon code
    Par killy dans le forum Langage
    Réponses: 5
    Dernier message: 19/01/2004, 18h35
  3. Quel est le problème dans ce code ?
    Par Luther13 dans le forum C
    Réponses: 12
    Dernier message: 26/08/2003, 16h09
  4. Modifier un événement dans le code
    Par HT dans le forum Langage
    Réponses: 6
    Dernier message: 20/06/2003, 09h46
  5. Création multiple table paradox dans le code
    Par scarabee dans le forum C++Builder
    Réponses: 8
    Dernier message: 30/10/2002, 10h17

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