Problème Fonction pour obliger à remplir des cases avant de fermer le doc
Bonjour à toutes et à tous,
J'ai créé un fichier à faire remplir à plusieurs personnes où j'obligeais à remplir toute la ligne avant de pouvoir fermer le document (via macro et formules).
Cependant, j'ai modifié une colonne où la cellule est ouverte en fonction d'une autre colonne (sur la colonne G, vous ne la remplissez que si en colonne F vous avez dit "Competitor").
Depuis que j'ai fait cette modification, ma macro et ma formule ne fonctionne plus concernant ma modalité de vouloir obliger à faire compléter toute la ligne.
C'est une personne qui m'avait créée cette formule et cette personne est partie. Bref ne maitrisant pas complétement Excel, je fais appel à vos compétences pour résoudre mon problème.
Dans les cellules en fond jaune, il y a les formules créées avant mon changement de la colonne G. Je suppose qu'il faut écrire une formule SI en F il n'y a pas competitor, il ne faut pas prendre en compte la colonne G... mais plus facile à dire qu'à faire.
Voici ma formule en colonne A qui calcule le nombre de cellule non remplis :
=SI(H3="Yes";(SI(SI(NB.SI(C3:AF3;"><")=0;0;1)=1;SI(SI(OU(D3="";E3="";F3="";G3="";H3="";I3="";J3="";K3="";L3="";M3="";N3="";O3="";P3="";Q3="";R3="";S3="";T3="";U3="";V3="";W3="";Y3="";AA3="";AB3="";AC3="");1;0)=0;0;1);0));SI(SI(NB.SI(C3:AF3;"><")=0;0;1)=1;SI(SI(OU(D3="";E3="";F3="";G3="";H3="";I3="";J3="";K3="";L3="";M3="";N3="";O3="";P3="";Q3="";R3="";S3="";T3="";U3="";V3="";W3="";Y3="");1;0)=0;0;1);0))
Voici ma macro en Workbook : Beforeclose
Private Sub Workbook_BeforeClose(Cancel As Boolean) If ThisWorkbook.Sheets("FORM").Range("A1") = 1 Then Cancel = True MsgBox "WARNING : Please note, there is at least 1 incomplete line. You must enter all the data for each person to be able to close" End If End Sub
Si quelqu'un peut m'aider, ça serait vraiment TOP !
Je joins le fichier test :
Merci par avance,
Bonne journée,
BERTY
Bonjour Berty,
Je ne comprends pas le principe de ta formule
pourquoi est-elle aussi compliquée s'il faut remplir obligatoirement toute la ligne donc toutes les cellules ?
Pour moi, tu as 30 colonnes à remplir, moins la "G", la X et la AD sont déjà remplies pas une formule donc sont déjà comptabilisées
Donc une formule du style
=(NB.SI(C3:AG3;"<>")>=30)
devrait suffire
@+
Bonsoir Berty,
Ne pas oublier de répondre à ton précédent sujet. Voir le lien ci-dessous.
Bonjour,
Malheureusement le sujet n'est pas clos car je n'ai pas reçu de réponses satisfaisantes...
La formule proposée par BrunoM45 ne correspond pas à ma demande.
Ma formule présentée est compliquée mais elle fonctionne par rapport à ma recherche de mise en place sauf que j'ai effectué un changement qui hélas ne fait plus fonctionner cette formule. Bref je vais essayer de chercher de mon côté. Tanpis.
Merci quand même.
Bonne journée,
Berty