Impossible de changer de classeur - [Macro VB]

  • Initiateur de la discussion Initiateur de la discussion Dream
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dream

XLDnaute Nouveau
Bonjour,

Je suis actuellement entrain de faire une macro sous visual basic mais je subit plusieurs errer qui commence à m'embêter sérieusement.

Ma macro tourne bien jusqu'à un moment (cela se passe pendant une boucle mais jamais à la première itérration) où je dois changer le classeur actif :

Windows(nom_fichier & ".xls").Activate

Et la le classeur est alors impossible à afficher, même manuellement.

Je suis obligé de fermer tout Excel et l'erreur windows (qui propose "ne pas envoyer") apparait.

Quelqu'un a-t-il une idée s'il vous plaît?
 
Re : Impossible de changer de classeur - [Macro VB]

Pour donner plus de précision,

Je peux diminuer manuellement le classeur actif et rendre celui de derrière actif, cependant l'erreur reste valable puisque VB ne parvient pas à activer un quelconque classeur. Dès que j'essai d'enregistrer ou de fermer une feuille l'erreure windows apparait.

pour ceux quis'y connaisse mieux que moi, voici le rapport d'erreur :

AppName: excel.exe AppVer: 11.0.8328.0 AppStamp:4c717ddb
ModName: excel.exe ModVer: 11.0.8328.0 ModStamp:4c717ddb
fDebug: 0 Offset: 00025a80

Je suis vraiment désamparé par ce problème de macro.

Merci de votre aide.

Cordialement.

PS : voici le code de la boucle où apparait l'erreure :

For i = 1 To k

Windows(nom_macro).Activate
Sheets("macro").Activate
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = True
.Show

path_repertoire_piece = CurDir
Cells(10 + i, 3) = path_repertoire_piece
nom_piece = Right(path_repertoire_piece, 18)
Cells(10 + i, 2) = nom_piece
End With

For j = 1 To 8

Windows(nom_macro).Activate
Sheets("macro").Activate
'Choix du fichier PDF
Chemin = path_repertoire_piece & "\" & nom_piece & "_POINT_" & j & ".Pdf"
Cells(36, 2) = Chemin
'Création nouvelle feuille
With Worksheets.Add(After:=Worksheets(Worksheets.Count))
On Error Resume Next
.Name = Left(Mid(Chemin, InStrRev(Chemin, "") + 1), 31)
'Insertion de l'objet PDF
Set Obj = .OLEObjects.Add(Filename:=Chemin, Link:=True, DisplayAsIcon:=False)
End With
Obj.Left = 1
Obj.Top = 1

ActiveSheet.Shapes("Object 1").Select
Selection.ShapeRange.PictureFormat.CropRight = 236.25
Selection.ShapeRange.PictureFormat.CropTop = 297.75
Selection.ShapeRange.PictureFormat.CropRight = 237.75
Selection.ShapeRange.PictureFormat.CropBottom = 220.5

Selection.Copy
Windows(nom_fichier & ".xls").Activate
ActiveSheet.Cells(i, j + 1).Select
ActiveSheet.Paste

Windows(nom_macro).Activate
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True

Next j
Next i
 
Re : Impossible de changer de classeur - [Macro VB]

Bonjour,

difficile avec un bout de code jeté sur un post.... "nom_macro" c'est quoi un nom d'objet ou une variable ??? comment est-elle initialisée.... A noter en vba rarement utile d'activer ou de selectionner...

bonne journée
@+
 
Re : Impossible de changer de classeur - [Macro VB]

Merci de ta réponse, je me rend bien compte qu'il manque des informations sur mon poste mais j'ai du mal à cerner ce q'il faut vraiment.

voici comment je définie mes variables :

Dim nom_macro
Dim path_macro
Dim path_repertoire
Dim nom_fichier
Dim nom_piece
Dim k
Dim path_repertoire_piece
Dim Obj As OLEObject
Dim Chemin As Variant
Dim T As String

A savoir que le code se limite quasiment à ces deux boucles.

Le nom de la macro et du fichier sont noté dans les cases de la feuille macro
Cordialement
 
Dernière édition:
Re : Impossible de changer de classeur - [Macro VB]

Dans la partie du code qu'il manquait il y avait en effet bien l'initialisation de toutes les variables.

J'ai fais tourner ma macro sous Excel 2010 et ca tourne bien. il semblerait que ce soit la version d'Excel ou la machine (j'ai également changer d'ordinateur entre temps) qui soit la raison de ce manque de resource.

De plus dèq ue je mets plus de 80 images, excel ne suit plus. Bref je reste dans l'inconnu mais cela marche sous 2010.

Merci encore Pierrot
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
937
olivier
O
Retour