IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Formule non active quand fichier verrouillé à l'ouverture [XL-2019]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Conseiller à la formation et au développement des compétences
    Inscrit en
    Octobre 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Conseiller à la formation et au développement des compétences
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Octobre 2019
    Messages : 13
    Par défaut Formule non active quand fichier verrouillé à l'ouverture
    Bonjour à tous,

    J'ai un formulaire d'évaluation qui doit être disponible pour des gérants, mais bien évidemment verrouillé.
    Différentes macro et formules dans ce document, qui comporte 2 onglets de travail visibles, et 1 onglet de données (pour les menu déroulant) masqué.

    Mon problème porte sur une copie de cellules d'un onglet vers une autre cellule d'un autre onglet.
    Fait étrange, quand le fichier est s'ouvre en étant verrouillé, la formule de copie du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ='FORMULAIRE D''ÉVALUATION GGC'!C2
    ne fonctionne pas. Il faut pour cela déverrouiller l'onglet et reverrouiller pour que ce soit actif.
    Mais si le fichier est ouvert en étant déverrouillé (ce qu'on ne veut pas évidemment), ça fonctionne.
    Pouvez-vous m'aider?

    Voici le fichier :
    Pièce jointe 509135
    (mot de passe : ren123)

    Voici le code de l'onglet où se trouve la cellule à copier (les gérants peuvent saisir de l'information)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Private Sub ComboBox3_Change()
    Range("C7").Value = ComboBox3.Value
    End Sub
    Private Sub ComboBox1_Change()
    Range("C2").Value = ComboBox1.Value
    End Sub
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        Dim i, ii
    If Target.Columns.Count = 1 Then
    i = Target.Row
    ii = Target.Value
    Set Notes = Range("E15:I38") ' plage où les notes existent
        CouleurVerte = RGB(198, 224, 180)
        CouleurBlanche = vbWhite
        If Not Application.Intersect(Notes, Target) Is Nothing Then
            Cancel = True
            ActiveSheet.Protect Password:="ren123", UserInterfaceOnly:=True
            With Target
                If .Interior.Color = CouleurBlanche Then
                    Range("E" & i & ":I" & i).Interior.Color = CouleurBlanche
                    .Interior.Color = CouleurVerte
                    Range("J" & i).Formula = "= " & ii & "*" & " D" & i & " /5"
                Else
                    .Interior.Color = CouleurBlanche
                    Range("J" & i).Value = ""
                End If
            End With
     
        End If
        End If
    End Sub

    Voici le code de l'onglet où l'information est copiée depuis le premier onglet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    Sub nom_magasin_identique()
    ' nom_magasin_identique Macro
        Range("C6:D6").Select
        ActiveCell.FormulaR1C1 = "='FORMULAIRE D''ÉVALUATION'!R[1]C"
        Range("C7:D7").Select
    End Sub
    Sub nom_employé_identique()
    ' nom_employé_identique Macro
        Range("C5:D5").Select
        ActiveCell.FormulaR1C1 = "='FORMULAIRE D''ÉVALUATION'!R[1]C"
        Range("C6:D6").Select
    End Sub
    Sub date_poste_identique()
    ' date_poste_identique Macro
        Range("B3:C3").Select
        ActiveCell.FormulaR1C1 = "='FORMULAIRE D''ÉVALUATION'!RC[1]"
        Range("B4").Select
    End Sub
    Sub titre_poste_identique()
    ' titre_poste_identique Macro
        Range("B2:C2").Select
        ActiveCell.FormulaR1C1 = "='FORMULAIRE D''ÉVALUATION'!RC[1]"
        Range("B3:C3").Select
    End Sub
    Sub date_eval_identique()
    ' date_eval_identique Macro
        Range("C7:D7").Select
        ActiveCell.FormulaR1C1 = "='FORMULAIRE D''ÉVALUATION'!R[1]C"
        Range("A8:I8").Select
    End Sub
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        Dim i, ii
    If Target.Columns.Count = 1 Then
    i = Target.Row
    ii = Target.Value
    Set Notes = Range("E11:I19") ' plage où les notes existent
        CouleurVerte = RGB(198, 224, 180)
        CouleurBlanche = vbWhite
        If Not Application.Intersect(Notes, Target) Is Nothing Then
            Cancel = True
            ActiveSheet.Protect Password:="ren123", UserInterfaceOnly:=True
            With Target
                If .Interior.Color = CouleurBlanche Then
                    Range("E" & i & ":I" & i).Interior.Color = CouleurBlanche
                    .Interior.Color = CouleurVerte
                    Range("J" & i).Formula = Target.Value
                Else
                    .Interior.Color = CouleurBlanche
                    Range("J" & i).Value = ""
                End If
            End With
     
        End If
        End If
    End Sub



    Merci d'avance et bonne journée



    Laurent

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    Il faut pour cela déverrouiller l'onglet et reverrouiller pour que ce soit actif.
    Avez-vous essayé ceci: Effectuez ces même opérations avec l'enregistreur de macro et collez le code obtenu dans la macro "Private Sub Workbook_Open()" du module ThisWorkbook.

    Cdlt

  3. #3
    Membre averti
    Homme Profil pro
    Conseiller à la formation et au développement des compétences
    Inscrit en
    Octobre 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Conseiller à la formation et au développement des compétences
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Octobre 2019
    Messages : 13
    Par défaut
    Citation Envoyé par ARTURO83 Voir le message
    Bonjour,


    Avez-vous essayé ceci: Effectuez ces même opérations avec l'enregistreur de macro et collez le code obtenu dans la macro "Private Sub Workbook_Open()" du module ThisWorkbook.

    Cdlt
    Bonjour,

    Vous voulez dire de le mettre en dehors des autres macro et dans le classeur entier et non l'onglet de travail visé?

  4. #4
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,


    Pièce jointe 509405

    Cdlt

  5. #5
    Membre averti
    Homme Profil pro
    Conseiller à la formation et au développement des compétences
    Inscrit en
    Octobre 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Conseiller à la formation et au développement des compétences
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Octobre 2019
    Messages : 13
    Par défaut
    Bonjour,

    Oui je l'ai fait là et ça a parfaitement fonctionné!

    Merci pour le coup de main!

    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/05/2015, 13h44
  2. ouverture de fichier et formules non calculées
    Par nanie_38 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/01/2010, 10h17
  3. [Firefox] Flash non activé quand scroll firefox
    Par Tchinkatchuk dans le forum Flash
    Réponses: 4
    Dernier message: 18/08/2009, 23h27
  4. activation macro lors d'une ouverture fichier Excel
    Par mirumoto dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/05/2005, 15h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo