Formulaire gestion clients

Bonjour à tous,

Je suis débutante en VBA et j'ai tenté de créer un formulaire en reprenant les différents exemples sur le site.

Malheureusement, mon formulaire ne fonctionne pas et me renvoie une erreur :

"erreur d'exécution - accès refusé"

Pouvez-vous me donner la signification de ce message et me dire quelle est mon erreur ?

Merci de votre aide,

A +

Choupie

469base-clients.xlsm (249.63 Ko)

Bonjour et bienvenu(e)

Effaces CLIENTS!A2:A1000 dans la propriété RowSource de la ComboBox CbNom

Merci Banzai64,

Effectivement, je n'ai plus le code d'erreur.

Par contre, lorsque je modifie un client, les modifications ne s'enregistrent pas sur mon tableau excel.

2e petit souci : à l'affichage de mon userform, les textbox sont remplies avec le titre des colonnes ; comment remédier à cela ?

Merci de votre aide,

Choupie

Bonjour

A tester

Merci beaucoup Banzai64, ça fonctionne parfaitement !

Depuis le temps que je galérais sur ce formulaire, tu m'enlèves une épine du pied...

Maintenant que le document de base fonctionne, je vais pouvoir y apporter des améliorations...

Merci encore et bonne journée,

Choupie

Bonsoir,

J'ai encore un petit souci avec le bouton MODIFIER qui ne modifie pas les données dans le classeur EXCEL.

Pouvez-vous m'aider à paramétrer mon bouton "VALIDER" correctement ?

Merci de votre patience,

Choupie

Bonsoir

Pas vu

Donnes un exemple

Indiques moi exactement les démarches effectuées et le résultat

Si je souhaite modifier un client, je le sélectionne à l'aide de ma ComboBox sur le nom et je modifie les données en question. Je clique ensuite sur le bouton VALIDER et j'aimerais que les modifications s'enregistrent sur mon tableau EXCEL, ce qui n'est pas le cas.

J'avais trouvé un code de modification mais celui-ci ne fonctionne pas (sans doute parce que j'ai modifié le nom de mes TextBox).

For I = 1 To 20

If Me.Controls("Textbox"& I).Visible = True Then

Ws.Cells(Ligne, I) = Me.Controls("TextBox" & I)

Merci de votre aide,

Bonsoir

Tu dois prendre un mauvais fichier

Avec celui que je t'ai envoyé les modifications se font

Ou alors je rate quelques chose

Bonjour,

Effectivement Banzai, avec ton code, c'est ok.

J'ai maintenant deux autres soucis :

J'ai ajouté une commande envoi mail pour adresser un mail directement depuis le formulaire.

J'ai saisi le code suivant :

Private Sub CmdMail_Click()

Dim MailAd As String

Dim Msg As String

Dim Subj As String

Dim URLto As String

'Sélectionne la cellule correspondant à l'adresse mail de la ligne

If CbNom.ListIndex <> -1 Then

Cells(CbNom.ListIndex + 2, 10).Select

'Le mail est adressé sur la base de la cellule active

MailAd = ActiveCell

Subj = "Location saisonnière" 'Objet du message automatique mais on peut faire référence à une TextBox

Msg = Msg & "Bonjour" & " " & TxtPrenom.Value & " " & CbNom.Value & Chr(13) & Chr(10)

Msg = Msg & "Conformément à votre demande, nous vous faisons parvenir ci-joint le contrat de location saisonnière relatif à l'appartement cité sous objet" 'Corps du message

Msg = Msg & "Votre texte" & "xxxxx" & "Votre nom" & "yyyyy" 'Corps du message

URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & Msg & "&Cc="

ActiveWorkbook.FollowHyperlink Address:=URLto

End If

End Sub

1er problème sur la commande MailAd=ActiveCell

Tout fonctionne dès lors que je suis sur le bon onglet ; par contre, si je suis positionnée sur un autre onglet, ça plante.

Y a t il un moyen simple de lui dire de se positionner d'abord sur la feuille "CLIENTS" ?

2e problème dans le corps du message mail

J'ai saisi Chr(13) & Chr(10) pour qu'il fasse un retour ligne et un saut de ligne mais il refuse obstinément et me met le message à la suite.

Pourquoi ne prend-il pas en compte ce code ?

Merci de votre aide,

Choupie

Bonjour

choupie972 a écrit :

Y a t il un moyen simple de lui dire de se positionner d'abord sur la feuille "CLIENTS" ?

Pas besoin de se positionner

Private Sub CmdMail_Click()
Dim MailAd As String
Dim Msg As String
Dim Subj As String
Dim URLto As String

  'Sélectionne la cellule correspondant à l'adresse mail de la ligne
  If CbNom.ListIndex <> -1 Then
    'Cells(CbNom.ListIndex + 2, 10).Select
    'Le mail est adressé sur la base de la cellule active
    'MailAd = ActiveCell
   MailAd = Sheets("CLIENTS").Cells(Me.CbNom.ListIndex + 2, 10)

    Subj = "Location saisonnière"           'Objet du message automatique mais on peut faire référence à une TextBox
    Msg = Msg & "Bonjour" & " " & Me.TxtPrenom.Value & " " & Me.CbNom.Value & Chr(13) & Chr(10)
    Msg = Msg & "Conformément à votre demande, nous vous faisons parvenir ci-joint le contrat de location saisonnière relatif à l'appartement cité sous objet" 'Corps du message
    Msg = Msg & "Votre texte" & "xxxxx" & "Votre nom" & "yyyyy"         'Corps du message
    URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & Msg & "&Cc="
    'Debug.Print URLto
    ActiveWorkbook.FollowHyperlink Address:=URLto
  End If
End Sub
choupie972 a écrit :

Pourquoi ne prend-il pas en compte ce code ?

Aucune idée du pourquoi

Si pas de réponse clôt ce post et ouvres en un autre avec ce sujet

Les recherches n'ont pas été vaines

A tester

Rechercher des sujets similaires à "formulaire gestion clients"