Bonjour à tous,
Je souhaite ouvrir un classeur excel via le code VBA, et faire un CountA d'une colonne pour savoir combien il y a de valeurs.
Alors j'ai fait un bout de code qui fonctionne bien :
Donc ça c'est pas mal, sauf qu'on voit le fichier en question qui s'ouvre, le reste du code s'exécute, puis le fichier est fermé (ce qui est normal hein). Et moi je voudrais que ça fasse la même chose, mais sans qu'on voit le fichier qui s'ouvre.
J'ai donc mis ça :
Et là l'exécution me retourne l'erreur 1004 : "Impossible de lire la propriété CountA de la classe WorksheetFunction"
Alors je débute en VBA, donc si mon 2e code est une grosse infamie c'est normal !
J'ai beau chercher sur le net, je trouve pas ce cas particulier (l'erreur 1004 c'est pas uniquement pour countA, c'est dès qu'on a une propriété de classe impossible à lire. Autant dire que ce code d'erreur ne nous sert pas à grand chose)
Je me dis que peut-être il est impossible de faire un countA sur un classeur ouvert de cette façon, mais si c'est possible je sais pas comment !
Merci à tous ceux qui vont me répondre !
Je souhaite ouvrir un classeur excel via le code VBA, et faire un CountA d'une colonne pour savoir combien il y a de valeurs.
Alors j'ai fait un bout de code qui fonctionne bien :
Code:
Workbooks.Open leCheminDuFichier
nb = WorksheetFunction.CountA(Workbooks(LeFichier).Sheets("MaFeuille").Range("A:A")
Donc ça c'est pas mal, sauf qu'on voit le fichier en question qui s'ouvre, le reste du code s'exécute, puis le fichier est fermé (ce qui est normal hein). Et moi je voudrais que ça fasse la même chose, mais sans qu'on voit le fichier qui s'ouvre.
J'ai donc mis ça :
Code:
Dim app As New Excel.Application
app.Visible = False ' False par défaut, c'est pour être bien sûr
Dim wbkSettings As Excel.Workbook
Set wbkSettings = app.Workbooks.Add(leCheminDuFichier)
nb = WorksheetFunction.CountA(wbkSettings.Sheets("MaFeuille").Range("A:A"))
Et là l'exécution me retourne l'erreur 1004 : "Impossible de lire la propriété CountA de la classe WorksheetFunction"
Alors je débute en VBA, donc si mon 2e code est une grosse infamie c'est normal !
J'ai beau chercher sur le net, je trouve pas ce cas particulier (l'erreur 1004 c'est pas uniquement pour countA, c'est dès qu'on a une propriété de classe impossible à lire. Autant dire que ce code d'erreur ne nous sert pas à grand chose)
Je me dis que peut-être il est impossible de faire un countA sur un classeur ouvert de cette façon, mais si c'est possible je sais pas comment !
Merci à tous ceux qui vont me répondre !
Dernière modification par un modérateur: