Compléter une formule de Job75

fenec

XLDnaute Impliqué
Bonjour le forum,

Il y a quelque temps job75 m’a aidé pour une formule en "I12 et L12"

Voulant rajouter des congés en autres " ½ CP et ½ RTT " j’ai donc mis en place les deux boutons dans l’userform.

J’ai ensuite voulu modifier la formule mais je n’y suis pas parvenu, je pense qu’il faut également modifier celle du nom défini " Ref " mais pas mieux d’où le besoin de votre aide.

Vous joue donc un fichier avec le lien de la discussion.

Cordialement,

PS: Espérant le passage Job75 que je remercie encore pour son aide passé.

Philippe.
 

Pièces jointes

  • Formule+VBA(1).xls
    269.5 KB · Affichages: 43

job75

XLDnaute Barbatruc
Bonjour fenec,

C'est la formule du nom Matref qu'il faut modifier :
Code:
=ESTNUM(CHERCHE(Ref;Calendrier!$D$5:$AK$35))*(1-(GAUCHE(Calendrier!$D$5:$AK$35;3)="1/2")/2)
A+
 

Pièces jointes

  • Formule+VBA(1).xls
    266 KB · Affichages: 48

job75

XLDnaute Barbatruc
Bonjour fenec, le forum,

Votre zoom dans la feuille Calendrier rendait la lecture difficile et votre code n'allait pas.

J'ai revu tout ça dans ce fichier (2).

Il y a un truc que je ne comprends pas du tout.

On arrive à entrer ou effacer manuellement des données en D5 G5 J5 etc...

Alors que la feuille est protégée et que toutes les cellules sont verrouillées !!!???

J'ai vérifié : ce n'est pas dû au fait que l'UserForm 'Congés' soit ouvert.

A+
 

Pièces jointes

  • Formule+VBA(2).xls
    315.5 KB · Affichages: 35

job75

XLDnaute Barbatruc
Re,

Bon j'ai compris l'histoire de la feuille Calendrier :rolleyes:

Les plages D5: D35, G5:G35 etc... sont autorisées par la commande Permettre la modification des plages de l'onglet RÉVISION.

Dans ce fichier (2 bis) j'ai retiré l'autorisation : les cellules ne peuvent être modifiées qu'avec l'UserForm.

A+
 

Pièces jointes

  • Formule+VBA(2 bis).xls
    315.5 KB · Affichages: 35

fenec

XLDnaute Impliqué
Bonjour le forum, Job75

Après quelques tests tout à l’air de fonctionner concernant la modification de « Matref ».

Pour le zoom je regarde de suite dans mon fichier final.

Pour ce qui est de la modification des plages dans la feuille " calendrier " je vais regarder de plus près car au premier regard, je m’aperçois que je ne peux plus insérer de commentaires sur les congés pointés ou alors je passe à coté de quelques choses.

Cordialement,

Philippe.
 

job75

XLDnaute Barbatruc
Bonjour fenec,
je m’aperçois que je ne peux plus insérer de commentaires sur les congés pointés ou alors je passe à coté de quelques choses.
C'est normal puisque la feuille est tout le temps protégée, de manière que les modifications se fassent uniquement par les boutons de l'UserForm 'Congés'. C'est une bonne sécurité.

Si l'on veut pouvoir entrer des commentaires :

- soit on ne protège jamais la feuille

- soit on ajoute un bouton dans l'UserForm pour créer le commentaire.

A+
 

job75

XLDnaute Barbatruc
Re,

Fichier (3) avec un bouton "OK" et une TextBox dans l'UserForm 'Congés'.

La macro dans le module de classe :
Code:
Private Sub bt_Click()
Dim c As Range
    If Bt.Caption = "OK" Then
        ActiveSheet.Unprotect Password:="1012"
        Selection.ClearComments
        If Congés.TextBox1 <> "" Then
            For Each c In Selection
                c.AddComment Congés.TextBox1.Text
                c.Comment.Shape.TextFrame.AutoSize = True
            Next
        End If
        ActiveSheet.Protect Password:="1012", UserInterfaceOnly:=True
    Else
        Selection = Bt.Caption
        Selection.Interior.Color = Bt.BackColor  'pour la couleur de fond
        Selection.Font.Color = Bt.ForeColor  'pour la couleur de police
   End If
AppActivate Application.Caption 'ôte le focus de l'UserForm
End Sub
Ne pas oublier, pour initialiser la classe, de porter le nombre de boutons à 23.

A+
 

Pièces jointes

  • Formule+VBA(3).xls
    283 KB · Affichages: 44
Dernière édition:

fenec

XLDnaute Impliqué
Bonjour le forum, Job75

Venant faire des recherches sur le forum, je viens de voir vos propositions.
je vais voir pour les appliquer à fon fichier final et reviens si problèmes.
Encore merci pour votre aide.
Cordialement,
Philippe.
 

fenec

XLDnaute Impliqué
Bonjour le forum, Job75
Une petite question quand même par rapport à votre solution:
Est-il possible de ne pas avoir le bouton "OK" et valider le commentaire par la touche "Entrée"
Sans vouloir abuser
Cordialement,
Philippe.
 

job75

XLDnaute Barbatruc
Bonjour fenec,

Dans ce cas mettez la propriété EnterKeyBehavior à False.

Pour créer une nouvelle ligne on utilisera les touches Ctrl+<Entrée>.

La touche <Entrée> utilisée seule créera l'évènement Exit.

Entraînez-vous en écrivant cette macro dans le code de l'UserForm :
Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Perso je préfère cliquer sur un bouton, c'est simple et c'est clair.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 074
Messages
2 085 066
Membres
102 770
dernier inscrit
mathieu.lemaitre