Erreur de codage

bonjour le forum

voila mon soucis j'ai une feuille base de données patient ou je voudrais rentré un nouveau client par un inputbox

inputbox s'affiche mais impossible de le mettre dans l'onglet base de données patient

surement encore une erreur dans mon module 1

avec tout votre génie peut être

avec tout mes remercîment par avance

6essaie01.xlsm (18.48 Ko)

Bonjour

Il faut corriger votre code..

Sub NouveauPatient()
Dim code As Integer
Dim nom As Variant
Dim r as string

On error resume next
r = InputBox("Saisissez le nom de votre nouveau patient :", "Nouveau patient")
If r = "" Then End
On error goto 0
With Sheets("basededonnéespatients")
    For Each nom In Range("B2:B" & Range("B" & Rows.Count).End(xlUp).Row)
        If nom = UCase(r) Then
            r = MsgBox("Ce nom existe déjà dans la feuille ''basededonnéespatients''." & Chr(13) & _
                    "Si vous confirmez, il sera ajouté avec un autre code.", 17)
            If r = 2 Then Exit Sub
            Exit For
        End If
    Next nom
    code = Application.Max(.Range("A2:A" & .Range("B" & .Rows.Count).End(xlUp).Row)) + 1
    .Range("B" & .Rows.Count).End(xlUp).Offset(0, -1)(2) = code
    .Range("B" & .Rows.Count).End(xlUp)(2) = UCase(r)
    .Range("A1:R" & .Range("B" & .Rows.Count).End(xlUp).Row).Sort key1:=.Range("B2"), key2:=.Range("A2"), Header:=xlGuess
End With
MsgBox r & " a été enregistré avec succès !", 64
End Sub

Remarques :

  • Mettez un point juste avant ROWS.COUNT pour dire à VBA que vous êtes bien sur la feuille "basededonnéespatients" car votre bouton est placé sur la feuille 1
  • Dans votre fichier il manquait un S dans le nom de la feuille Basededonnéespatient

Mon conseil : évitez absolument les espaces et accents dans le nom de vos feuilles. cela provoque toujours des soucis à un moment ou un autre

Cordialement

Bonjour,

un code bien compliqué pour valider une seule case.

Il faut faire attention au nom de feuille exemple :

With Sheets("basededonnéespatients") ' non cette feuille n'existe pas au pluriel.

A tester :

3essaie01-3.xlsm (18.48 Ko)

bonjour le forum

merci beaucoup DAN XMENPL

voila le problème quand on essaie d'apprendre le vba

heureusement que vous été la pour nous montré nos erreurs

encore merci infiniment

merci cela fonctionne J'AURAIS VOULUS METTRE UNE nouvelle entrée en A EN PLUS

style MR OU MME

Après mon problème est résolut

Re

Sur cette base :

  • colonne A : Code
  • colonne B : Mr, Mme
  • Colonne C : Nom
Sub NouveauPatient()
Dim dlg As Integer
Dim nom As Variant
Dim r As String, m as string

On Error Resume Next
r = InputBox("Saisissez le nom de votre nouveau patient :", "Nouveau patient")
m = InputBox("Saisissez Mr ou Mme")
If r = "" Then End
On Error GoTo 0
With Sheets("basededonneespatient")
    dlg = .Range("A" & .Rows.Count).End(xlUp).Row 'dernière ligne des noms
    For Each nom In Range("C2:C" & dlg)
        If nom = UCase(r) Then
            r = MsgBox("Ce nom existe déjà dans la feuille ''basededonneespatient''." & Chr(13) & _
                    "Si vous confirmez, il sera ajouté avec un autre code.", 17)
            If r = 2 Then Exit Sub
            Exit For
        End If
    Next nom
    .Range("A" & dlg + 1) = Application.Max(.Range("A2:A" & dlg)) + 1
    .Range("B" & dlg + 1) = m
    .Range("C" & dlg + 1) = UCase(r)
    .Range("A1:C" & dlg).Sort key1:=.Range("C2"), key2:=.Range("A2"), Header:=xlGuess
End With
MsgBox r & " a été enregistré avec succès !", 64
End Sub

j'ai enlevé le é du nom de la feuille

Si ok, n'oubliez pas de cloturer le fil en cliquant sur le petit v en haut à droite

Crdlt

merci infiniment DAN tout est en ordre

a bientot

Rechercher des sujets similaires à "erreur codage"