Barodchaise
XLDnaute Nouveau
Bonjour tout l'monde.
Voilà je suis sur un projet de stage, et pour le réussir, je dois me mettre à fond dans le VB sous Excel.
Je transforme du code Excel 95 (pour ceux qui connaissent vous savez que c'est immonde )
Bref, en ce moment je suis sur Menu.xls qui propose une interface de gestion d'une page excel générée par un logiciel privé.
Lorsque je clic sur un bouton de ce menu, il doit m'ouvrir ladite page excel en question et doit me faire certaines modifications sur cette même feuille (supprimer des colonnes, des lignes en fonction de certains critères, faire un tableau avec ce qui reste, faire des totaux etc ...)
Le soucis que je rencontre actuellement, c'est qu'après avoir ouvert la feuille excel, je ne peux pas sélectionner la colonne que j'aimerai supprimé (l'intitulé de cette colonne, en cellule M1 (donc 13° colonne), s'appelle Sous-Fonction).
Voici le code :
La ligne soulignée étant la ligne de code sur laquelle le programme bute.
Mais je ne suis pas aussi sur la feuille que je dois modifier, car à mon avis ce code ne sélectionnera que la colonne de la feuille excel de Menu.xls
Du coup j'ai essayé de faire Sheet('nomdlafeuillàmodif').Select mais ça m'affichait cette ligne en rouge ...
Voilà je suis sur un projet de stage, et pour le réussir, je dois me mettre à fond dans le VB sous Excel.
Je transforme du code Excel 95 (pour ceux qui connaissent vous savez que c'est immonde )
Bref, en ce moment je suis sur Menu.xls qui propose une interface de gestion d'une page excel générée par un logiciel privé.
Lorsque je clic sur un bouton de ce menu, il doit m'ouvrir ladite page excel en question et doit me faire certaines modifications sur cette même feuille (supprimer des colonnes, des lignes en fonction de certains critères, faire un tableau avec ce qui reste, faire des totaux etc ...)
Le soucis que je rencontre actuellement, c'est qu'après avoir ouvert la feuille excel, je ne peux pas sélectionner la colonne que j'aimerai supprimé (l'intitulé de cette colonne, en cellule M1 (donc 13° colonne), s'appelle Sous-Fonction).
Voici le code :
VB du Menu.xls à dit:Sub ouvrirDaP()
Call docaouvrir
Call supssfct
End Sub
Sub docaouvrir() 'fonction qui ouvre le fichier Excel généré par le logiciel privé
Dim nomfic As String 'Déclaration de la variable qui contiendra le nom du fichier à modifier
nomfic = "G:\C-DGRMG\C-DSIT\Dossiers-Equipe-Développement\Macros_excel\Excel95\Gestion\Gestcomp\LaCriee\WSBUDGND.xls"
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel
'Ouverture de l'application
Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
Set wbExcel = appExcel.Workbooks.Open(nomfic)
'wsExcel correspond à la première feuille du fichier
Set wsExcel = wbExcel.Worksheets(1)
'on rend visible cette feuille
appExcel.Visible = True
End Sub
Sub supssfct() 'supprime la colonne sous-fonction de la feuille excel
Dim i As Integer
i = 1
Do While (Cells(1, i) <> "Sous-Fonction" Or Cells(1, i) <> "") 'boucle qui s'arrête soit en ayant trouvé la colonne à supprimer, soit en ayant trouvé une colonne vide (fin du tableau)
i = i + 1
Loop
MsgBox (Cells(1, i))
End Sub
La ligne soulignée étant la ligne de code sur laquelle le programme bute.
Mais je ne suis pas aussi sur la feuille que je dois modifier, car à mon avis ce code ne sélectionnera que la colonne de la feuille excel de Menu.xls
Du coup j'ai essayé de faire Sheet('nomdlafeuillàmodif').Select mais ça m'affichait cette ligne en rouge ...
Dernière édition: