Se connecter avec
S'enregistrer | Connectez-vous

VBA pb avec activesheet.name

Dernière réponse : dans Programmation

ô desespoir! je pensais que tout marchait hier mais non.
mon pb est la ligne (erreur d'exécution 9, l'indice n'appartient pas à la sélection):

  1. feuille_p=workbooks(classeur_previ).activesheet.name


La variable classeur_previ a la bonne valeur, et ce pb survient juste après le bout de code qui posait pb hier, lorsque classeur_previ est ouvert mais à partir d'une autre instance Excel que le classeur qui contient la macro. voici le code d'hier:

  1. Dim wb2 As Workbook
  2. Set wb2 = GetObject(chemin)
  3. wb2.Activate
  4. Else
  5. Workbooks.Open filename:= _
  6. chemin


aidez moi svp! merci!

Autres pages sur : vba activesheet name

Lassé par la pub ? Créez un compte

Le code c'est celui là dans cet ordre là:

If deja_ouvert_previ = True Then
Dim wb2 As Workbook
Set wb2 = GetObject(chemin)
wb2.Activate
Else
Workbooks.Open filename:= _
chemin
End If


feuille_previ = Workbooks(classeur_previ).ActiveSheet.Name

(je pense que c'est le code d'hier qui ne marche pas et n'active pas le classeur en réalité)
Expert Programmation

M'enfin, mais non... :non: 
Pourquoi affecter wb sinon pour faire ça :
  1. Dim wb As Workbook
  2.  
  3. If deja_ouvert_previ Then
  4. Set wb = GetObject(chemin_classeur_previ)
  5. Else
  6. Workbooks.Open filename := chemin_classeur_previ
  7. Set wb = Workbooks(classeur_previ)
  8. End If
  9.  
  10. feuille_previ = wb.ActiveSheet.Name

OK mais je vois toujours pas ce qui posait pb.
et du coup dans mon code: j'ai plein de:
  1. workbooks(classeur_previ).activate

mais ça marche pas, il faut tous les remplacer par la ligne qui suit ou pas?
  1. wb.activate


il n'y a pas une autre solution? je vais passer trop de temps à tout changer...

en fait c'est VBEditor qui buguait tout seul...
j'ai testé et retesté plein de fois, sans rien changer et maintenant ça a l'air de marcher.. Bizarre quand même !!! (j'étais prête à m'arracher les cheveux à la fin...)
Bon je retourne à mes tests.. on sait jamais !

Alors en fait j'ai pas du testé comme il faut car ça marche toujours pas.
si j'ai ma macro dans un classeur et classeur_previ ouvert dans une autre instance EXcel :
la ligne suivante ne marche pas car n'active pas le classeur:
  1. wb2.activate


le problème est toujours le même.. je ne sais pas comment faire.


Lassé par la pub ? Créez un compte