Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
00
Si tu as une machine récente, tu peux installer tes versions d'essai dans une machine virtuelle (type VirtualBox)
(-> cf tutos sur le net)
Comme cela tu essaies tes versions d'Office (ou autres logiciels d'ailleurs) sans le moindre souci.
Mais sinon pourquoi Office 365 et pas Office 2013 ?
Si tu dois désinstaller ta version d'essai puis réinstaller Office 2007, regarde sur le net comment on fait une désinstallation proprette d'Office, avant de faire ta réinstallation.
... tu peux installer tes versions d'essai dans une machine virtuelle (type VirtualBox)
(-> cf tutos sur le net)
Comme cela tu essaies tes versions d'Office (ou autres logiciels d'ailleurs) sans le moindre souci...
00
Tu l'essaies pour ensuite l'acheter ou tu préfères rester avec 2007 ?
Si tu veux l'essayer en étant que simplement "virtuellement" exaspéré, prends le temps de virtualisé l'OS de ton choix.
(Bien que chronophage un chouia, cette solution se teste donc idéalement les week-ends pluvieux et jour d'élections)
Il te faudra une image *.iso de ton OS, d' Office et avoir au préalable parcouru les tutoriels (nombreux sur le net )concernant VirtualBox (par exemple), ensuite il suffit de te lancer.
L'aventure virtuelle te tente-elle ou ton exaspération va-telle simplement de faire réinstaller Excel 2007 ?
Ce que tu décris est très étrange.
par exemple il n'y a aucune raison pour que tu doives remplacer dans tes macros [A1] par range("A1"). Il y a quelques différences dans le VBA entre 2007 et 2013 (ou 365) mais c'est dans le sens de l'amélioration : dans 2007 il manque beaucoup de choses en VBA par exemple pour gérer les graphiques.
Si tu veux tu peux m'envoyer un classeur qui te pose un problème, je le testerai avec 2013.
Pour désinstaller correctement 2007 c'est ici Ce lien n'existe plus
as tu installé office 365 en 32 ou en 64 bits ? Là il est logique que tu aies quelques macros qui ne fonctionnent pas, les déclarations de variables par exemple sont sensiblement différentes. Si c'est le cas, désinstalles office 365 et réinstalle le en version 32 bits.
Il est en général fortement recommandé de n'avoir qu'une version d'office sur son PC sauf comme le recommande JC à utiliser une machine virtuelle. MAis quand tu as installé Office 365, "on" a du te demander ce que tu voulais faire des versions antérieures. Il n'est pas possible de faire cohabiter une version 32 et une (ou partie de) version 64 bits.
Pour l’heure, je ne sais plus où j’en suis : rien ne va plus. Je teste, niaisement , l’offre apparue - hier - et ne fais que pester !
@ Misange :
Hélas, comme tu le dis, ce qui m’arrive est étrange... comme beaucoup d’autres événements demeurés, à ce jour, inexpliqués. Peut-être ai-je un mauvais fluide …
D’après un logiciel (B E L A R C), Office 64 bits est installé.
Le PC est nouveau, la version Office est celle qui m’a été proposée lors de la configuration (je n’ai donc pas installé « mon 2007 »).
Je vous remercie, Michel , Staple1600 , Misange , pour votre soutien et reviendrai, demain, vous rapporter la suite de mes déboires ou bonnes surprises.
Bonjour, Misange , Michel , Staple1600 , le Forum,
Quatrième jour de conflits !
J'ai suivi les conseils de Misange :
- tout a été désinstallé proprement, comme indiqué supra ;
- la version 32 bits a remplacé la version 64 bits.
Résultat : les problèmes ont persisté.
J'ai acheté puis installé, en 32 bits, "Office Famille et Petite Entreprise 2013".
Aujourd'hui, je craaaaque ! La preuve...
Je n'ai pas testé tous mes fichiers…
Certains d'entre eux, avec des macros événementielles, fonctionnent à nouveau, après avoir lancé cette ligne de code :
Code:
Application.EnableEvents = True
Les macros devenues inutilisables avaient désactivé cette option.
Des codes qui tournaient parfaitement avec Office 2007 me renvoient dans les mirettes "Erreur d'exécution '1004' : La méthode 'VBProject' de l'objet '_Workbook' a échoué".
Exemple n° 1, avec ce code de BOISGONTIER :
Code:
Sub Macros_du_ficher_lister()
' Outils/Macros/Sécurité/Sources fiables/Cocher Faire confiance au projet Visual Basic
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
Sheets("Macros_JB").Activate
Columns(1).Clear
i = 1
For Each c In ActiveWorkbook.VBProject.VBComponents '[B]ERREUR ICI[/B]
If c.Type = 1 Then
For ligne = 1 To c.CodeModule.CountOfLines
temp = Trim(c.CodeModule.Lines(ligne, 1))
If Left(temp, 3) = "Sub" Then
ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 1), Address:="", SubAddress:=ActiveSheet.Name & "!A1", TextToDisplay:=Mid(Left(temp, Len(temp) - 2), 4)
i = i + 1
End If
Next ligne
End If
Next c
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub
Exemple n° 2 :
Cette macro ne provoque aucune erreur mais n'agit plus du tout ( ? )
Code:
Sub Codename_égale_nom_des_onglets()
With Application: .ScreenUpdating = False: .Calculation = xlManual: .EnableEvents = False: End With
Dim o As Worksheet
On Error Resume Next
For Each o In Worksheets
o.Activate
ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).Name = ActiveSheet.Name
Next
With Application: .EnableEvents = True: .Calculation = xlAutomatic: .ScreenUpdating = True: End With
End Sub
Exemple n° 3 , avec ce code de job75 : "Erreur d'exécution '1004': L'accès par programme au projet Visual Basic n'est pas fiable" !
Code:
Private Sub Worksheet_Activate()
'Cocher la référence "Microsoft Visual Basic for Applications Extensibility x.x"
'job75
Dim o As Object, i&, T$, nom$, Liste$(), n&, c As Range
'---liste des procédures Sub---
For Each o In ThisWorkbook.VBProject.VBComponents 'ERREUR ICI
With o.CodeModule
For i = 1 To .CountOfLines
T = " " & Trim(.Lines(i, 1))
nom = .ProcOfLine(i, vbext_pk_Proc)
If T Like "* Sub " & nom & "(*)" Then
If T Like " Sub " & nom & "()" Then
n = n + 1
ReDim Preserve Liste(1 To 2, 1 To n)
Liste(1, n) = o.Name 'nom du module
Liste(2, n) = nom 'nom de la macro
End If
i = i + .ProcCountLines(nom, vbext_pk_Proc) - 1 'saute les lignes
End If
Next
End With
Next
'---RAZ---
Application.ScreenUpdating = False
[A2:B65536].ClearContents
For Each o In Me.Shapes
If o.TopLeftCell.Column = 3 Then o.Delete
Next
'---création de la liste et des boutons---
If n Then
With [A2:B2].Resize(n)
.Value = Application.Transpose(Liste)
.Sort [B2], Header:=xlNo 'tri
For Each c In .Columns(2).Cells
With Me.Buttons.Add(c(1, 2).Left, c.Top, c(1, 2).Width, c.Height)
.Characters.Text = c
.OnAction = c(1, 0) & "." & c
End With
Next
End With
End If
End Sub
Les multiples lectures sur le Net ne m'ont pas permis de trouver le remède afin d'échapper à ce pétrin ...
@00: pour la macro qui ne produit pas d'erreur mais qui ne fonctionne pas pour autant, c'est chose normal avec la ligne:
On error Resume Next
Et sans cette ligne elle afficherait la même erreur que les autres.
Applique la solution de Chris et tout sera comme avant (encroisantlesdoigtsdevantouderrièreouaudessuscestcommetuvoudras)
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.