Macro "désactivé"

Salut à tous,

J'ai un petit souci sur un ficher. Je vous explique :

Je l'utilise pour la création de N° de plan, il fonctionne avec diverse macro. Hier soir je l'ai enregistré, et en le lançant ce matin, toutes les macros semblent désactiver. J'ai été voir dans les options, elles sont activés. J'ai ensuite pensé au code qui aurait disparu, mais tout est toujours en place.. Quand je clique sur ce qui était le bouton de commande, il a l'air d'être devenu une image.

Si jamais je remet des boutons, plus moyen d'éditer ses propriétés.. Bref, je sèche un peu..

Si quelqu'un à une idée..

3numero-plan.xlsm (86.25 Ko)

Bonjour,

Il faut essayer de travailler de façon cohérente en VBA...

Les macros "classiques" se mettent dans un module Standard. Tu réserves les modules de feuilles pour les procédures d'évènements...

Sub Feuille()
    Dim ff, f$, i%
    ff = Split("FON LAC LAF DIS LAQ")
    f = Right(Application.Caller, 3)
    On Error GoTo Fin
    i = WorksheetFunction.Match(f, ff, 0)
    Worksheets("FAMILLE " & i).Activate
Fin:
End Sub

Sub Retour()
    Worksheets("SELECT").Activate
End Sub

Sub NouveauType()
    Caractéristique_bouton.Show
End Sub

Ces macros sont donc à placer dans un module Standard !

La macro Feuille est affectée à tous les boutons de SELECT, sauf NOUVEAU TYPE auquel est affectée la macro NouveauType.

La macro Retour est affectée à tous les boutons Retour des autres feuilles.

Pour les autres boutons des feuilles (Nouveau N°) on ne sait pas trop ce qu'ils doivent lancer... ?

Quant au code du Userform, je ne m'y suis pas penché mais cela ne me paraît pas très brilllant au coup d'oeil ! et je considère qu'il est à réécrire entièrement (ce qui devrait d'ailleurs le réduire de plus de moitié...)

Cordialement.

Bonjour,

Les macros sont surement à retravailler, je commence la dedans, et c'est pas brillant de mon côté.. Je me dépatouille avec le peu que j'ai compris et que j'arrive à faire fonctionner..

Le fait n'est pas que les macros sont fausse, mais qu'elles fonctionnaient hier encore, et depuis ce matin plus rien ne réagi.

Re,

Lis plutôt ce que j'ai écrit... Suis ces recommandations !! Et étudie soigneusement le chapitre portée des variables et des procédures dans un cours VBA...

Cordialement.

Pour le "fun" :

Code du Userform :

Private Sub annuler_Click()
    Unload Me
End Sub

Private Sub valider_Click()
    Dim lo, f%, n%
    lo = Split("FON LAC LAF DIS LAQ")
    For f = 0 To 4
        With Range(lo(f))
            n = .Rows.Count + 1
            .Cells(n, 2) = TextBox1.Value
            .Cells(n, 3) = TextBox2.Value
        End With
        Tri f + 1
    Next f
    Unload Me
End Sub

A mettre en module Standard :

Sub Tri(f As Integer)
    Dim lo, pl, k%
    lo = Split("FON LAC LAF DIS LAQ")
    pl = Array("[1 TYPE]", "[TYPE]", "[DETAIL]", "[N°]")
    With Worksheets("FAMILLE " & f).ListObjects(lo(f - 1)).Sort
        With .SortFields
            .Clear
            For k = 0 To 3
                .Add Range(lo(f - 1) & pl(k)), xlSortOnValues, xlAscending, , _
                 IIf(k <> 4, xlSortNormal, xlSortTextAsNumbers)
            Next k
        End With
        .Header = xlYes
        .MatchCase = False
        .Apply
    End With
End Sub
Rechercher des sujets similaires à "macro desactive"