Modifier base de donnée via vba userform

Y compris Power BI, Power Query et toute autre question en lien avec Excel
G
Geoffrey027
Membre habitué
Membre habitué
Messages : 84
Inscrit le : 18 mars 2018
Version d'Excel : 2016

Message par Geoffrey027 » 15 novembre 2018, 14:51

Bonjour tout le monde :)
Sa fait un petit moment que beaucoup d'entre vous m'avait aidé à faire mon programme complet pour mon activité :)
Seulement, la maintenant je vient de modifier quelques petites choses et je suis bloquer ! :/

J'ai donc un programme complet en UserForm qui enregistre mes devis dans une feuille base de donnée "Devis" et qui enregistre mes Facture dans une feuille base de donnée "Facturier" Jusque la tout fonctionne forcément :D

Mais j'aimerais un code pour pouvoir MODIFIER un devis existant...
pour le moment, il cherche la 1er ligne vide et enregistre le devis à cette ligne...

Ici je repart avec un nouveau bouton dans l'usf "Modifier devis" donc une fois que je clic, il vérifie si la textbox n° de devis est vide et alors il sort, sinon il continue et par rapport au n° du devis inscrit il recopie donc toutes les TextBox dans la base de donné et forcément à la ligne correspondant au n° du devis =)

Merci à vous les amis :)

Voilà ou j'en suis :
Private Sub CommandButton25_Click()
If TextBox100 = "" Then
Exit Sub
Else
'Mise en place des valeurs saisies
    
   Dim I As Long, Lig As Long
  ' Numéro de ligne = Entête tableau 1 + Choix dans la liste + 1 car commence à 0
    I = Val(TextBox100)
    Lig = 2 + I + 1
  ' Avec la feuille BD Poste
  
    Select Case UCase(Me.ComboBox13.Value) 'agit en fonction de la valeur de la ComboBox13 (convertie en majuscules)
    
       Dim O As Worksheet
        Case "DEVIS" 'cas "DEVIS"
            Set O = Worksheets("Devis") 'définit l'onglet O
 
    End Select 'fin de l'action en fonction de la valeur de la Combobox13
    
    
    For Each CTRL In Me.Controls 'boucle sur tous les contrôles de l'userForm
        'si la propriété [Tag] du contrôle n'est pas vide, renvoie la valeur du contrôle dans la cellule
        'ligne = PLV / colonne = valeur de la propriété [Tag] du contrôle
        If CTRL.Tag <> "" Then O.Cells(Lig, CTRL.Tag).Value = CTRL.Value
    Next CTRL 'prochaine contrôle de la boucle
End If 'fin de la condition

Worksheets("Facturier").Range("BV:BX").ClearContents 'supprime les données qu'il copie en trop dans Facturier
Worksheets("Devis").Range("BZ:BZ").ClearContents 'supprime les données qu'il copie en trop dans Devis

MsgBox "Les données sont enregistrées"

'Methode simple pour revenir à l'userform "Vide"
Unload Me 'Quitte l'userform
UserForm2.Show 'Revient dans l'userform

End Sub
Modifié en dernier par Geoffrey027 le 15 novembre 2018, 21:23, modifié 1 fois.
G
Geoffrey027
Membre habitué
Membre habitué
Messages : 84
Inscrit le : 18 mars 2018
Version d'Excel : 2016

Message par Geoffrey027 » 15 novembre 2018, 19:53

Personne ?
g
gmb
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'060
Appréciations reçues : 260
Inscrit le : 4 avril 2013
Version d'Excel : 2016

Message par gmb » 16 novembre 2018, 01:33

Bonjour

Tu aurais plus de succès si tu joignais ton fichier...
Bye !
G
Geoffrey027
Membre habitué
Membre habitué
Messages : 84
Inscrit le : 18 mars 2018
Version d'Excel : 2016

Message par Geoffrey027 » 16 novembre 2018, 08:46

et voici
prog.xlsm
(526.58 Kio) Téléchargé 25 fois
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message