Message pour compléter cellule avant impression

Résolu
ec163 Messages postés 182 Statut Membre -  
ec163 Messages postés 182 Statut Membre -
Bonjour,
je souhaiterais savoir comment faire dans calc pour empêcher l'impression d'un tableau si une cellule de ce tableau (par ex: C5) n'est pas complétée en indiquant à la personne que cette case est obligatoirement à renseigner pour l'impression (comme un msgbox sur excel). ci joint la macro excel qui serait à traduire en macro calc
Private Sub Workbook_Open()
MsgBox "N'oubliez pas vos noms et prénoms SVP"
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If Sheets("mois").Range("c5").Value = "" Then
Cancel = True
MsgBox "Nom et prénom SVP"
End If
End Sub
Pour info je ne connais pas les macros sur calc.
Par avance merci de votre aide.
ec163

2 réponses

  1. yclik Messages postés 3874 Date d'inscription   Statut Membre Dernière intervention   1 609
     
    Bonjour
    une proposition de solution
    rentrer la macro suivante
    sub test_impression
    rem define variables
    dim document   as object
    dim oSheet as object 
    dim NomPrenom as string
    dim NomPrenomSaisie as string
    ' nom de la feuille
     oSheet = ThisComponent.sheets.GetByName("feuille1") 
    ' récupération des contenus de cellules
      NomPrenom=oSheet.getCellRangeByName ("C5").getstring
      'tests 
       If NomPrenom="" then  goto saisie_nom_prenom else GOTO Fin 
    ' etiquette pour saisie  
    saisie_nom_prenom:
      NomPrenomSaisie=inputbox("veuillez renseigner Nom et prénom SVP")
     oSheet.getCellRangeByName("C5").String = NomPrenomSaisie
    
    ' etiquette pour fin
    Fin: 
    rem msgbox("Fin macro")
    
    End Sub


    Ensuite assigner la macro à l'évènement impression du document
    Outils>Personnaliser
    Onglet Evènement
    -sélectionner : Imprimer le document
    -Sous" Assigner" , Bouton "macro"
    --sélectionner la macro précédemment enregistrée
    --OK
    -OK
    0
    1. ec163 Messages postés 182 Statut Membre 32
       
      Merci, ça fonctionne bien sauf que et oui il y a toujours un "sauf que". Si la personne décide de ne pas mettre son identité et de cliquer sur annuler pour faire disparaître le message, la feuille s'imprime tout de même..... Pourrais tu te pencher sur ce détail, et encore merci ça me dépanne déjà pas mal.
      ec163
      0
  2. yclik Messages postés 3874 Date d'inscription   Statut Membre Dernière intervention   1 609
     
    re

    sub test_impression_boucle
    rem define variables
    dim document   as object
    dim oSheet as object 
    dim NomPrenom as string
    dim NomPrenomSaisie as string
    ' nom de la feuille
     oSheet = ThisComponent.sheets.GetByName("feuille1") 
    ' récupération des contenus de cellules
     verifier:
      NomPrenom=oSheet.getCellRangeByName ("C5").getstring
      'tests 
       If NomPrenom="" then  goto saisie_nom_prenom else GOTO Fin 
    ' etiquette pour saisie  
    saisie_nom_prenom:
      NomPrenomSaisie=inputbox("veuillez renseigner Nom et prénom SVP")
     oSheet.getCellRangeByName("C5").String = NomPrenomSaisie
    GOTO verifier
    ' etiquete pour fin
    Fin: 
    rem msgbox("Fin macro")
    
    End Sub
    0
    1. ec163 Messages postés 182 Statut Membre 32
       
      Merci beaucoup Yclik, ça fonctionne très bien. Pourrais je abuser en te demandant un complément à cette macro. Je souhaiterais que la personne ne puisse pas enregistrer son document sans avoir renseigner son identité. Il s'agit en fait d'un tableau de pointage pour la grh et certains le renvoient sur papier quand d'autres l'enregistrent et nous le font parvenir par mail. En tout cas merci beaucoup encore pour ton aide précieuse et si tu as le temps de te pencher sur mon autre problème merci encore.
      Cdt
      ec163
      0
      1. yclik Messages postés 3874 Date d'inscription   Statut Membre Dernière intervention   1 609 > ec163 Messages postés 182 Statut Membre
         
        bonjour
        associer la macro à l'évènement "Enregistrement du document"
        0
    2. ec163 Messages postés 182 Statut Membre 32
       
      Cool!!! ça marche d'enfer
      merci bcp Yclik, je mets le sujet en résolu!
      @ +
      ec163
      0