Activer Une Feuille - Forum Excel-Pratique
Maybe your like
TELECHARGEMENTS
Plus de 300 applications Excel sont disponibles gratuitement en téléchargement !
- Budget, gestion de comptes
- Gestion commerciale, personnel
- Plannings, calendriers
- Etc.
Bonsoir,
Je manipule un fichier excel composé de plusieurs feuilles à partir d'un autre fichier excel. Chacune des feuilles représente les mois de l'année, sauf l'une d'entre elles nommée "Total" (de l'année en cours).
Après avoir ouvert le fichier en question, j'ai commencé par sélectionner l'une des feuilles (celle du mois en cours) via ces commandes (mois étant une variable préalablement définie renvoyant le nom du mois en cours):
fic = ActiveWorkbook.Name ActiveWorkbook.Worksheets(mois).Activate feu = ActiveSheet.NameJusque là tout va bien, feu = juin.
Suite à cela, j'ai écrit les instructions que je voulais, qui également se sont bien exécutées. Mais après, j'ai voulu sélectionner une autre feuille, à savoir "Total 2011". Et là ça coince, erreur à l'exécution (L'indice n'appartient pas à la sélection) avec les instructions suivantes (annee étant une variable renvoyant l'année en cours, testée dans d'autres cas avec succès):
ActiveWorkbook.Worksheets("Total " & annee).Activate feu = ActiveSheet.NameOù est l'erreur ?
Merci d'avance !
Le 19/07/2011 à 23:45Banzai64Fanatique d'ExcelMessages16'686Votes1'961Excel2003 FR (learning 2010 - 2013)Inscrit21/11/2010LieuJurançonBonsoir
Sans le code pas évident
des idées en vrac
Changes tu de fichier ?
Variable annee bien intialisée ?
Le nom de la page comportent des espaces supplémentaires ?
Fais un pas-à-pas et testes les valeurs
et ...... je ne sais plus
A suivre avec le code (minimum) où le fichier (mieux)
Le 20/07/2011 à 00:07m@tixMembre fidèleMessages198Inscrit29/06/2011Alors, je ne change pas de fichier, la nouvelle feuille est sur le même fichier.
J'ai mis des espions, et la variable annee prend bien 2011 comme valeur, aucun souci de ce côté là.
J'ai également vérifié les espaces, il y en a un seul, entre "Total" et l'année.
Voici la partie de code intéressante (en faisant quelques tests j'ai l'impression qu'on est plus situé sur le bon classeur au moment de l'appel de la feuille, d'où l'erreur... mais je ne saisis pas pourquoi):
Workbooks.OpenText Filename:=Workbooks(fic).Sheets(feu).Range("A6").Value & "\gestion " & annee & ".xls", Origin:=xlWindows, _ StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _ , Space:=False, Other:=False fic = ActiveWorkbook.Name ActiveWorkbook.Worksheets(mois).Activate feu = ActiveSheet.Name Workbooks(fic).Sheets(CStr(annee)).Activate nbcol = ActiveSheet.Cells.CurrentRegion.Columns.Count Sheets(CStr(annee)).Cells(1, 1).Resize(1, nbcol).Select 'champ 1 à traiter Set rech = Selection.Find(What:="champ_1", After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False) If Not rech Is Nothing Then Sheets(CStr(annee)).Cells(mois + 1, rech.Column).Value = Workbooks(fic).Sheets(feu).Range("K45").Value End If 'champ 2 à traiter Set rech = Selection.Find(What:="champ_2", After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False) If Not rech Is Nothing Then Sheets(CStr(annee)).Cells(mois + 1, rech.Column).Value = Round(Workbooks(fic).Sheets(feu).Range("L45").Value, 2) End If fic = ActiveWorkbook.Name ActiveWorkbook.Worksheets("Total " & annee).Activate feu = ActiveSheet.Name Workbooks(fic).Close End IfLe 20/07/2011 à 00:59Banzai64Fanatique d'ExcelMessages16'686Votes1'961Excel2003 FR (learning 2010 - 2013)Inscrit21/11/2010LieuJurançonBonjour
Bizarre
Sauf erreur de ma part voilà ce que j'en ai déduit
Déjà ta macro est incomplète, donc pas facile de la comprendre
Sinon après l'ouverture "OpenText" tu bascules sur le 2ème fichier
Tu redéfinies tes variables Fic et Feu
Tu traites tes informations : Ce qui m'intrigue la page Sheets(CStr(annee)) est dans quel classeur
ActiveWorkbook ou ThisWorkbook ?
Pourquoi après tu redéfinies tes variables Fic et Feu ?
Pas à ce moment qu'il manques du code ? (Il y a un End if sans son If)
Dans l'état actuel je ne vois pas ce qui cloche (manques trop de renseignements)
A suivre si tu veux
Le 20/07/2011 à 09:53m@tixMembre fidèleMessages198Inscrit29/06/2011ACCES PREMIUM
Soutenez le site en devenant membre Premium et profitez de plusieurs options exclusives :
- Navigation sans publicités
- Option "No Tracking"
- Option "Mode Incognito"
- Option "Dark Mode"
Bonjour Banzai64,
J'ai résolu le problème, mais je voulais t'en informer. En fait l'erreur venait du fait que la feuille n'était pas reconnue car le classeur actif n'était pas le bon. La ligne ci-dessous affectait à fic le classeur sur lequel je travaillais et non le classeur sur lequel j'allais récupérer mes données:
fic = ActiveWorkbook.NameDésolé...
Rechercher des sujets similaires à "activer feuille"ForumsExcel - VBAActiver une feuilleTag » Activer Feuille Excel Vba
-
Worksheet.Activate Method (Excel) - Microsoft Docs
-
VBA ActiveSheet & How To Activate Or Select A Sheet
-
Macros Et VBA Excel : Activer Une Feuille Dans Une Macro
-
Activer Feuille Sous Vba : Forum Excel - Generation-NT
-
Activer La Feuille De Calcul Dans Excel En VBA | Delft Stack
-
5 Façons Activer Classeur Dans Excel
-
EXCEL VB - Activer Une Feuille à Nom Variable [Résolu] - CCM
-
VBA: Activer/de La Sélection D'une Feuille De Calcul/la Ligne/cellule
-
Comment Déplacer La Feuille Active à La Fin Ou Au Début Du Classeur ...
-
[PDF] Le Tableur EXCEL La Programmation En VBA - AgroParisTech
-
Comment Activer Plusieurs Feuilles En VBA Pour Excel
-
Macro Pour Masquer Toutes Les Feuilles Sauf La Feuille Active, Excel VBA
-
VBA Excel - Activer Les Feuilles D'un Classeur Excel - YouTube
-
Comment Activer Un Onglet à L'ouverture D'un Fichier Excel (VBA)