Bonsoir sergiofox, Robert,
Si en Feuil1 on veut éviter les #N/A utiliser la fonction SIERREUR dans les formules.
Quand un numéro de licence en colonne H ne donne rien il suffit de compléter le tableau de la feuille "joueur".
A+
Sur le fichier original, la feuil1 porte un nom différent mais fait référence à la feuille joueur
Re,
Désolé je navet pas vu le mot de passe tellement j'étais occupé à essayer de lire ton texte...
Le problème est qui si tu édites une cellule de la colonne C (CDFE* en fait !) tu perds la formule quelle contient ! un beau bordel en perspective quand tu voudras recommencer... Tu vas tourner en rond avec les protection/déprotection...
* Je me demande pourquoi cette fusion des cellules alors qu'il suffit d'agrandir la taille de la colonne C...
Chaque bouton sera uniquement utilisé pour déverrouiller la cellule qu'il le précède " G4-C4" " G5-C5" etc et comme la macro est attribuée au bouton placer en avant poste, elle n'empèchera pas le doublon éventuel de la cellule de noter le doublon éventuel. Une commande existe pour éviter de détruire le fichier de base (mais doit encore être amélioré et je chercheEncore)
le code est ;
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Z As String
If SaveAsUI = True Then
Else
Do
Z = Application.InputBox(PROMPT:="Inscrivez le NOUVEAU nom du classeur.", _
Title:="Enregistrer sous", Default:="SonNom.xlsm", Type:=2)
If Format(Z) = False Then Cancel = True: Exit Sub
If LCase(Right(Z, 4)) <> ".xlsm" Then Z = Z & ".xlsm"
If UCase(Z) = UCase(ThisWorkbook.Name) Then
If MsgBox("Ce nom existe déjà. Vous devez choisir un autre nom." & _
"Désirez-vous continuer?", vbCritical + vbYesNo, "Nouveau nom") = vbNo Then
Cancel = True
Exit Sub
End If
Else
On Error Resume Next
Application.EnableEvents = False
ThisWorkbook.SaveAs ThisWorkbook.Path & "" & Z
Application.EnableEvents = True
If Err <> 0 Then
Err.Clear
MsgBox "Vous avex saisi un caractère interdit dans " & _
"le nom du fichier : |/*?:><"
Cancel = False
Else
Cancel = True
End If
End If
Loop Until Cancel = True
End If
End Sub