Problème Excel2007

michel70 -  
Patrice33740 Messages postés 8930 Statut Membre -
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

A voir également:
  • Problème Excel2007
  • Excel2007 - Télécharger - Tableur

12 réponses

Patrice33740 Messages postés 8930 Statut Membre 1 782
 
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
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
Patrice33740 Messages postés 8930 Statut Membre 1 782
 
Le classeur ou la feuille est peut-être protégé (Révision / Oter la protection)
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Patrice33740 Messages postés 8930 Statut Membre 1 782
 
Est-ce qu'avec un classeur vierge (nouveau), la commande Insertion des contrôles est activée ?
0
chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
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
Patrice33740 Messages postés 8930 Statut Membre 1 782
 
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
chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Bonjour https://www.commentcamarche.net/communaute/profil-Patrice33740, comment va ?
0
Patrice33740 Messages postés 8930 Statut Membre 1 782
 
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
chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
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
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
michel70
 
Bonjour à tous
Patrice33740
Effectivement,sur un nouveau classeur,tout fonctionne normalement.
Qu'est il arrivé à mon classeur ? Un virus ?
A plus
michel70
0
Patrice33740 Messages postés 8930 Statut Membre 1 782
 
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
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
Patrice33740 Messages postés 8930 Statut Membre 1 782
 
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
Patrice33740 Messages postés 8930 Statut Membre 1 782
 
voici le fichier correspondant : https://www.cjoint.com/?AHFa1LnJ28a
0
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
Patrice33740 Messages postés 8930 Statut Membre 1 782
 
Bon rétablissement
A+
Patrice
0