Problème Excel2007

michel70 -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous

Je rencontre un problème sur l'onglet "Développeur"

J'ai de nombreuses macros en service,et pour commander beaucoup d'entre elles, je créais des boutons de commande,dans l'onglet précité,avec "insérer des contrôles et activer la création",et je notais le nom de la macro dans la cellule du bouton.Depuis hier,mauvaise surprise : Toutes les cellules en question sont vides,plus de bouton ni de nom.
Je retourne sur "développeur",et,plus moyen d'utiliser l'onglet "insertion des contrôles"il ne répond plus aux clics (son onglet est terne ,comme si un brouillard le recouvrait)?
Comme je suis loin d'être un aigle en informatique,je fais appel aux compétences des habitués du forum.
Merci à ceux qui me répondront
michel70

12 réponses

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    je créais des boutons de commande,dans l'onglet précité
    Pas dans l'onglet mais sur la feuille excel ?

    Je retourne sur "développeur",et,plus moyen d'utiliser l'onglet "insertion des contrôles"il ne répond plus aux clics (son onglet est terne ,comme si un brouillard le recouvrait)
    Le classeur est-il ouvert ?
    0
  2. michel70
     
    Bonjour Patrice33740

    1 ) D'accord,je créais des boutons dans la feuille excel,à l'aide de l'onglet précité
    2 ) oui,le classeur est ouvert

    A plus

    michel70
    0
  3. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    Le classeur ou la feuille est peut-être protégé (Révision / Oter la protection)
    0
  4. michel70
     
    Bonsoir Patrice33740

    Non,ni la feuille ni le classeur ne sont protégés

    C'est le deuxième jour que j'essaie de remettre le truc en route,sans succès,et je ne vois toujours pas où est le problème.Ce n'est pas surprenant,compte de mon très faible niveau en informatique,,j'espérais que des gens plus compétents pourraient m'aider ,mais,apparemment,,soit la question ne les intéresse pas,ou ils ne savent pas ,eux non plus,d'où vient ce bug.
    Je vais encore essayer,si je n'y arrive pas,je ferai appel à un technicien dépanneur,mais compte tenu des tarifs pratiqués,bonjour la facture !

    Je te remercie de t'être penché sur le pbm,et te dis : peut-être à plus.

    michel70
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    Est-ce qu'avec un classeur vierge (nouveau), la commande Insertion des contrôles est activée ?
    0
  7. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
     
    Bonjour,

    personnellement je penserais à un classeur avec macro créé avec Office 2007 mais enregistré sous le format de compatibilité 97-2003, ou alors en xlsx à la place de xlsm.

    Cordialement.
    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      Bonjour chossette9

      Lorsqu'on enregistre au format 97-2003, les macros et les boutons sont conservés.
      Lorsqu'on enregistre au format xlsx, seul le projet VBA disparait (les macros), par contre les boutons ne disparaissent pas.
      0
    2. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      Bonjour https://www.commentcamarche.net/communaute/profil-Patrice33740, comment va ?
      0
    3. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      Re,

      Ça va bien, merci.
      Mais je comprend pas bien le contexte de ce problème, le travail as-t-il été enregistré ?
      Sous quel format ?
      Les macros existent-elles encore ? Où ?

      Patrice
      0
    4. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      J'ai proposé ça car c'était ce qui me semblait le plus simple. Je sais qu'entre un fichier Word enregistré en mode de compatibilité et un autre enregistré en 2007, dans le premier je ne pourrais pas utiliser l'éditeur d'équations, dans le second je pourrais.

      Je suis parti de cette déduction, mais apparemment je me suis craqué.

      Désolé pour la mauvaise analyse.
      0
  8. michel70
     
    Bonjour Patrice33740, et bonjour chossettes9

    Absent cet après midi,je découvre vos posts

    Je vérifierai demain si les macros fonctionnent dans un nouveau classeur.
    Merci à tous deux et à plus.
    michel70
    0
  9. michel70
     
    Bonjour à tous
    Patrice33740
    Effectivement,sur un nouveau classeur,tout fonctionne normalement.
    Qu'est il arrivé à mon classeur ? Un virus ?
    A plus
    michel70
    0
  10. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    Il est très nettement plus probable que ce soit une mauvaise manip ou un incident lors de l'enregistrement plutôt qu'un virus

    Selon l'état et la contenance de ton fichier, tu peux essayer de tout recopier dans un nouveau fichier, y compris les macros si elles existent encore.
    Ne copie pas les feuilles (via l'onglet) mais toutes les cellules, attention au formules qui pourraient générer des liaisons avec l'ancien fichier
    0
  11. michel70
     
    Bonsoir Patrice33740

    J'ai recopié l'ensemble du classeur dans un nouveau classeur vierge.
    La commande "insertion de contrôles" fonctionne
    J'ai enregistré les macros dans l'onglet VBA du nouveau classeur,car elles ne l'ont pas été lors de la copie.Maintenant depuis deux jours je reprends mes formules une à une,ce qui me prend beaucoup de temps.
    J'ai bon espoir,mais je ne sais pas si je suis sorti de l'auberge,car je constate que certaines macros,bien enregistrées dans le classeur,ne fonctionnent pas.Je reprends
    la mise en place des boutons de commande,un à un.
    Enfin,j'espère arriver à un résultat positif.
    Je te tiendrai au courant.
    A plus
    michel70
    0
  12. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    Bonjour,

    Cette macro, à mettre dans un nouveau fichier, permet de régénérer les principaux éléments d'un classeur partiellement corrompu (sauf les macros) dans un nouveau classeur. Elle copie notamment les styles, les formats, les formules, les noms, les formes, les commentaires

    Private Sub RégénérerCLasseur()
    Dim wbkOrg As Workbook
    Dim wbkDst As Workbook
    Dim wshOrg As Worksheet
    Dim wshDst As Worksheet
    Dim stlOrg As Style
    Dim stlDst As Style
    Dim cmtDst As Comment
    Dim shpDst As Shape
    Dim Nom As Name
    Dim Nomfichier As String
    
      'Sélection du fichier
      On Error Resume Next
      Application.FileDialog(msoFileDialogFilePicker).AllowMultiSelect = False
      Application.FileDialog(msoFileDialogFilePicker).Show
      Nomfichier = Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)
      If Nomfichier = "" Then Exit Sub
      On Error GoTo 0
      Set wbkOrg = Workbooks.Open(Nomfichier)
      Set wbkDst = Workbooks.Add(xlWBATWorksheet)
      'Fusionner les styles
      Application.DisplayAlerts = False           'pour éviter le messages concernant les styles de même nom
      wbkDst.Styles.Merge Workbook:=wbkOrg
      Application.DisplayAlerts = True
      'créer les feuilles
      For Each wshOrg In wbkOrg.Worksheets
        Set wshDst = wbkDst.Worksheets(wshOrg.Index)
        wshDst.Name = wshOrg.Name
        wshDst.Tab.ColorIndex = wshOrg.Tab.ColorIndex
        'copier les principales options d'affichage(quadrillage, onglets, ...)
        wshDst.Activate
        wshOrg.Activate
        Windows(wbkDst.Name).Zoom = Windows(wbkOrg.Name).Zoom
        Windows(wbkDst.Name).DisplayGridlines = Windows(wbkOrg.Name).DisplayGridlines
        Windows(wbkDst.Name).DisplayHeadings = Windows(wbkOrg.Name).DisplayHeadings
        Windows(wbkDst.Name).DisplayWorkbookTabs = Windows(wbkOrg.Name).DisplayWorkbookTabs
        Windows(wbkDst.Name).DisplayHorizontalScrollBar = Windows(wbkOrg.Name).DisplayHorizontalScrollBar
        Windows(wbkDst.Name).DisplayVerticalScrollBar = Windows(wbkOrg.Name).DisplayVerticalScrollBar
        Windows(wbkDst.Name).DisplayZeros = Windows(wbkOrg.Name).DisplayZeros
        'feuille suivante
        If wbkOrg.Worksheets.Count > wbkDst.Worksheets.Count Then wbkDst.Worksheets.Add After:=wshDst
      Next wshOrg
      'copier les noms
      For Each Nom In wbkOrg.Names
        If InStr(1, Nom.RefersTo, "#REF") = 0 Then wbkDst.Names.Add Nom.Name, Nom.RefersTo
      Next Nom
      'copier le contenu de chaque feuille
      For Each wshOrg In wbkOrg.Worksheets
        Set wshDst = wbkDst.Worksheets(wshOrg.Name)
        'copier toutes les cellules
        Application.DisplayAlerts = False           'pour éviter les messages concernant la copie des noms
        wshOrg.Cells.Copy Destination:=wshDst.Cells
        Application.DisplayAlerts = True
        'Copier les formules (supprime les éventuelles liaisons crées avec l'ancien classeur)
        wshDst.UsedRange.Formula = wshOrg.UsedRange.Formula
        'repositionner les commentaires
        For Each cmtDst In wshDst.Comments
          cmtDst.Shape.Top = wshOrg.Range(cmtDst.Parent.Address).Comment.Shape.Top
          cmtDst.Shape.Left = wshOrg.Range(cmtDst.Parent.Address).Comment.Shape.Left
        Next cmtDst
        'repositionner les objets
        For Each shpDst In wshDst.Shapes
          If shpDst.Type <> msoComment Then
            shpDst.LockAspectRatio = msoFalse
            shpDst.Height = wshOrg.Shapes(shpDst.Name).Height
            shpDst.Width = wshOrg.Shapes(shpDst.Name).Width
            shpDst.Top = wshOrg.Shapes(shpDst.Name).Top
            shpDst.Left = wshOrg.Shapes(shpDst.Name).Left
            shpDst.LockAspectRatio = wshOrg.Shapes(shpDst.Name).LockAspectRatio
          End If
        Next shpDst
      Next wshOrg
      wbkOrg.Saved = True
      wbkDst.Worksheets(1).Activate
      
    End Sub

    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      voici le fichier correspondant : https://www.cjoint.com/?AHFa1LnJ28a
      0
  13. michel70
     
    Bonjour Patrice33740

    Excuse mon silence dù à des ennuis de santé,et un petit séjour en clinique.
    Je découvre ton envoi du 31/8.
    Je vais donc essayer et voir.
    Comme,à mon grand regret,je ne dois pas m'éterniser devant mon écran,je te dirai ce qu 'il en est dans quelques jours.
    Très sincèrement,MERCI
    A plus
    michel70
    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      Bon rétablissement
      A+
      Patrice
      0