Passer d'un classeur à

T

Thierry37

Guest
Bonjour,

Voilà, j'ai essayé de faire une macro directement par un code vba mais je ne suis que débutant et je ne comprends pas tout de ce langage et de sa logique.

Question : existe t-il un bouquin clair, précis et facile à comprendre pour un peu mieux maîtriser le VBA ?

J'ai donc bidouillé ceci :

Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 26/10/2005 par Thierry-00430
'
Range(A1).Select
If Workbook('principal.xls').Open Then
Workbook('principal.xls').Select
Range(A1).Select
Next
Workbook('secondaire.xls').Close

'
End Sub

Mais ça ne fonctionne pas : erreur de compilation, etc !

Mon problème à l'origine : mon fichier principal était trop lourd et trop complexe générant des erreurs mémoires que j'ai solutionnée en le scindant en 2.

Problème : comment passer de l'un à l'autre ? J'ai solutionné le truc en faisant des liens hypertextes entre les deux fichiers qui sont sur le réseau.

Ok, j'ai fais des liens mais problème : lorsque je passe du principal pour aller au secondaire puis du secondaire vers le principal, le secondaire reste ouvert... et j'aimerais qu'il se ferme.

Mon objectif :

Passer du secondaire au principal tout en fermant le secondaire (sans qu'il me demande de sauvegarder : les utilisateurs sont en lecture seule). Comme ça je n'ai que le principal comme fichier actif.

Problème : il faut vérifier que le principal soit ouvert, s''il ne l'est pas alors il faut l'ouvrir et fermer le secondaire. Je précise que les fichiers étant sur le réseau le secondaire peut être ouvert avant le principal même s'il n'ont pas tout à faire le même nom).

J'espère avoir bien expliqué je que je souhaitais faire.
Merci de me dire ce que je n'ai pas bien fait dans ma macro et encore merci d'avance pour votre aide.
bonne journée à tous,

Thierry
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Thierry, bonjour le forum,

Essaie comme ça :


Sub Macro1()
Range('A1').Select 'sélectionne la cellule A1
Workbooks.Open ('principal.xls') 'ouvre la classeur 'principal.xls'
Range('A1').Select 'sélectionne la cellule A1
Workbooks('secondaire.xls').Close 'ferme le classeur 'secondaire.xls'
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 332
Membres
103 519
dernier inscrit
Thomas_grc11