Tableur

ec163 Messages postés 147 Date d'inscription   Statut Membre Dernière intervention   -  
yclik Messages postés 3877 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, je souhaiterai dans un tableau calc servant de maquette d'absence pour des salariés, que lorsqu'ils ne saisissient pas certaines informations, ils ne puissent pas imprimer leur bulletin et qu'un message aparaîsse à l'écran (comme les msgbox d'excel) leur expliquant ce qu'il faut faire pour débloquer la situation. Par avance merci de vos réponses.
Concrètement s'ils ne sélectionne pas :
* leur service dans la cellule B3, un message apparaît "veuillez renseigner le service SVP"
* leur nom et prénom dans la cellule B4, un message apparaît "veuillez renseigner vos noms et prénoms SVP"
* leur motif d'absence en A8, un message apparaît "veuillez renseigner le motif SVP"
* leur date d'absence en B8, un message apparaît "veuillez renseigner les dates de début et de fin SVP".

Merci de votre aide

ec163
A voir également:

1 réponse

yclik Messages postés 3877 Date d'inscription   Statut Membre Dernière intervention   1 564
 
Bonjour
Une proposition de solution en mettant un bouton "Imprimer" sur la feuille déclenchant la macro ci dessous

sub test_feuille
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim oSheet as object 
dim monService as string
dim monNomPrenom as string
dim monMotifAbsence as string
dim  maDateAbsence as date
  ' nom de la feuille
 oSheet = ThisComponent.sheets.GetByName("feuille1") 

  ' récupération des contenus de cellules
  monService= oSheet.getCellRangeByName ("B3").getstring 
  monNomPrenom=oSheet.getCellRangeByName ("B4").getstring
  monMotifAbsence=oSheet.getCellRangeByName ("A8").getstring
  maDateAbsence=oSheet.getCellRangeByName ("B8").getvalue
   
  'tests 
  
  If monService="" then msgbox("veuillez renseigner le service SVP" )
  If monService="" then  goto Fin
  
  If monNomPrenom="" then msgbox("veuillez renseigner Nom et prénom SVP" )
  If monNomPrenom="" then  goto Fin 
  
  
  If  monMotifAbsence="" then msgbox("veuillez renseigner le motif d'absence SVP" )
  If  monMotifAbsence="" then  goto Fin 
  
  If  maDateAbsence=0 then msgbox("veuillez renseigner la date d'absence SVP" )
  If  maDateAbsence=0 then  goto Fin 
  

 impression:
 msgbox("on imprime")
rem  thisComponent.print(array())

Fin: 
msgbox("Fin macro")

End Sub


Si concluant :
sous l'étiquette impression:
-mettre rem devant msgbox et supprimer le rem en dessous
sous l'étiquette Fin:
-mettre rem devant msgbox
0
ec163 Messages postés 147 Date d'inscription   Statut Membre Dernière intervention   32
 
Merci, mais déjà que je ne suis pas super doué en VBA mais alors sur Calc c'est carrément le néant, malheureusment je n'ai pas le choix.
Je suppose que ta macro fonctionne mais je ne sais absolument pas où je dois la coller et renommer certaines données, merci
0
yclik Messages postés 3877 Date d'inscription   Statut Membre Dernière intervention   1 564
 
0
ec163 Messages postés 147 Date d'inscription   Statut Membre Dernière intervention   32
 
Rien à faireje n'y arrive pas et je ne comprend pas!
0
yclik Messages postés 3877 Date d'inscription   Statut Membre Dernière intervention   1 564
 
Bonjour

voir exemple là
https://www.cjoint.com/?3Iqi7sC76q8
0
ec163 Messages postés 147 Date d'inscription   Statut Membre Dernière intervention   32
 
Merci mais c'est pas mieux en plus je voudrais éviter les boutons de commande, je veux faire au plus simple, juste qqs messagesbox en cas d'oubli de saisie c'est tout. J'ai recopié ta macro mais je ne sais pas si je remplace bien tous les termes à modifier, puis je t'envoyer une copie de ma maquette, stp?
0