Si il n'y a pas la feuille "patients" alors quitte la macro.

  • Initiateur de la discussion Initiateur de la discussion ninanani
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ninanani

XLDnaute Occasionnel
Bonjour le forum, toutes et tous.

Je souhaiterais savoir quelle est le language VBA pour dire :
Si il n'y a pas la feuille "patients" alors quitte la macro.
Un truc du genre, peut etre :
If not ......................... then exit sub

Merci bcp
 
Re : Si il n'y a pas la feuille "patients" alors quitte la macro.

Re le Fil
Salut Pierrejean 🙂

Il faut mettre, comme pierrejean l'a dit, la Fonction FeuilExist dans un module à part ainsi que la fonction chercheligne. puis dans ton
Private sub Worksheet_Change ce code

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim colonne1a As String
Dim cellule As Range
Dim dl1 As Long ' dernière ligne
Dim lig As Long
Dim i As Integer
Dim C As Range
[B]If Not FeuilExist("patients") Then MsgBox "La feuille Patients n'existe pas": Exit Sub[/B]
Sheets("patients").Unprotect ("estherzina")
    If Target.Address <> "$B$10" Then Exit Sub
            With Sheets("Patients")
                colonne1a = ""
                For i = 1 To Len(Target.Address(0, 0))
                    If Asc(Mid(Target.Address(0, 0), i, 1)) > 64 Then
                        colonne1a = colonne1a & Mid(Target.Address(0, 0), i, 1)
                    End If
                Next i
                dl1 = .Range(colonne1a & "65536").End(xlUp).Row
                lig = chercheligne("Patients", Target.Value, colonne1a & "2", colonne1a & dl1)
                    If lig = 0 Then
                    Select Case MsgBox("Le patient : " & Target.Value _
                                   & vbCrLf & "Doesn't exists :" & .Range(colonne1a & 1) _
                                   & vbCrLf & "Do you want to add him ?" _
                                   & vbCrLf & "" _
                                   , vbYesNo Or vbInformation Or vbDefaultButton1, Application.Name)
                    Case vbYes
                    UserForm1.Show
                    Case vbNo
                        Exit Sub
                    End Select
                    ' .Range(colonne1a & dl1 + 1) = Target.Value
                    End If
            End With
End Sub
En espérant avoir répondu à ta question car je n'ai pu tester qu'avec un fichier vide 😀

Edition: A ninanani et James: ce n'est pas mon Code mais bien celui de MyDearFriends 🙂, que, j'applique à certains de mes fichiers et qui ma toujours donné satisfaction

Bonne Journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
597
Retour