Ouverture du fichier bizarre

Bonjour à tous,

Je suis confronté à un problème insoluble:

  • j'exécute un script VBA sur un fichier.
  • ce script supprime des colonnes et lignes selon différentes règles de gestion.
  • afin de conserver mon fichier source j'enregistre les modifications sous un nouveau dossier
        ActiveWorkbook.SaveAs Filename:=F_Temp, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False, Local:=True

Cependant à l'ouverture du fichier ainsi créé excel s'ouvre systématiquement dans la zone I76 à AB110. De ce fait mes utilisateurs pensent que le fichier est vide. Comment faire pour que ce fichier s'ouvre bien sur la range A1 ?

Cordialement,

Thomas.

Bonjour,

peut-être en faisant un :

WorkSheets("nom de la feuil").Range("A1").Select

avant la ligne de sauvegarde.

A+

Bonjour,

Je ne change pas de feuille du coup j'ai déjà pensé au replacement en cellule A1 avant sauvegarde mais rien n'y change :'(

Range("A1").Select

Bonjour,

Je ne comprends pas vraiment.

Tu ouvres le fichier ainsi crée mais celui-ci se trouve sur la même feuille que le fichier source ?

Si tu le souhaites envoie-nous le fichier en pièce jointe.

Cordialement.

Je ne peux pas transmettre le fichier, il contient des données personnelles qu'il m'est interdit de transmettre....

En gros j'ai un fichier source:

Mon code VBA supprime des lignes et de colonnes selon les critères définis par mon codage.

Puis le code "enregistre sous" le fichier ainsi épuré, ce qui me permet d'avoir en sortie de code 2fichiers :

  • mon fichier source
  • mon fichier épuré.

Quand j'ouvre mon fichier épuré via excel ce dernier affiche la zone allant de I76 à AB110 (zone ou il n'y a visuellement rien) malgré que mon code VBA contienne un

Range("A1").Select

avant enregistrement.

De ce fait quand je transmet le fichier épuré à mes clients certains pensent qu'il est vide et ne traitent pas les données.

J'espère être clair (c'est pas évident ^^' )

Slt Thomas,

on aura besoin du code vba entier et non pas du fichier

hein il contient aussi des données personnelles qu'il t'est interdit de transmettre....

Tu es bien certain que le

Range("A1").Select

est appliqué sur le classeur/feuille ?

Sinon tu peux demander au fichier d’exécuter

Range("A1").Select

à l'ouverture de celui-ci avec un

Private Sub Workbook_Open()

Je ne travaille que sur la feuille1 du coup je ne précise par la commande sur une feuille particulère.

en relisant le code j'ai remarqué avoir privilégier un

Cells(1, 1).Select

Je vous laisse le consulter ^^

(merci de votre réactivité)

5macro-2.txt (11.84 Ko)

Je sais que ça va te paraître insistant mais as tu essayé de mettre

Workbooks.Open Filename:=F_Macro, Local:=True
Range("A1").Activate

à la fin de ton code (select devrait fonctionner aussi). J'ai du mal à croire que activer une cellule d'une feuille juste après son ouverture ne fonctionne pas. J'ai du mal à comprendre la globalité de ton code dû à sa longueur et à mon niveau basique en VBA.

Je vais tester avec le "Activate".

Pour le niveau de VBA ne t'inquiète pas, ce code c'est beaucoup de recherches et de copier/coller

J'ai solutionné mon problème.

J'ai utilisé les deux fonctions suivantes :

' Pas d'affichage durant la macro
    Application.ScreenUpdating = False

De ce fait la fonction Range("A1").Select n'avait visuellement aucun effet et n'était pas prise en compte lors de l'enregistrement.

Réactiver l'affichage juste pour sélectionner la cellule A1 et désactiver ce dernier après la sélection a résolu mon problème.

' Réactivation de l'affichage
    Application.ScreenUpdating = True

        Range("A1").Select

' Pas d'affichage durant la macro
    Application.ScreenUpdating = False

Merci pour votre aide.

Rechercher des sujets similaires à "ouverture fichier bizarre"