[VBa] Argument Non Falcutatif

  • Initiateur de la discussion Initiateur de la discussion petithomme
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

petithomme

XLDnaute Occasionnel
Salut tout le monde,

c'est re-moi ^^

voila j'ai un ptit bout de code qui bug . . . j'ai le droit a une msgbox qui me dit : Argument non falcutatif
Je n'arrive pas à trouver d'où provient l'erreur, un ptit coup de pouce svp ?

Ce code permet en cliquant sur un bouton de parcourrir une plage de cellule, de lire les contenus et d'ouvrir les fichiers xls puis les fermer.
Buton() est associée à un bouton cliquable
Dans la cellule de Paramètres!B1 --> Non d'une feuille
Dans la cellule de Paramètres!D1 --> Non d'une plage

Sub bouton()
Dim ws As Worksheets
Dim cel As Range
Set ws = Workbooks(Worksheets("Paramètres").Range("B1").Value)
Set cel = Range(Worksheets("Paramètres").Range("D1").Value)
ouvrirfermer ws, cel
End Sub


Public Sub ouvrirfermer(ws As Worksheets, cel As Range)
Dim cel2 As Range
Dim i As Integer
Dim nb As Integer
i = 1

Set cel2 = ws.cel(i)
nb = Workbooks.Count
While cel2.Value <> "FIN"
Workbooks.Open cel2.Value
Workbooks(nb + 1).Close
i = i + 1
Set cel2 = ws.cel(i)
Wend
End Sub

Merci encore ^^
 
Dernière édition:
Re : [VBa] Argument Non Falcutatif

Salut,

Une piste
il y a un petit probleme ici:
Set ws = Workbooks(Worksheets("Paramètres").Range("B1").Value)


ws est defini en worksheets et tu lui affectes un workbook
qui de plus n'existe surment pas car tu as le nom d'une feuille en B1.

++
 
Re : [VBa] Argument Non Falcutatif

Minick à dit:
Salut,

Une piste
il y a un petit probleme ici:
Set ws = Workbooks(Worksheets("Paramètres").Range("B1").Value)

bien vu ^^ j'ai changé mais toujours le même problème lol


pierrejean à dit:
re

ok (moi je mets toujours les parentheses)

toujours dans le registre des peut-etre

es-tu sur de ta declaration en Worksheets ?
j'ai beau mettre un S ou non ca change rien . . .
 
Re : [VBa] Argument Non Falcutatif

Voici la solution :

Sub bouton()
Dim ws As Worksheet
Dim cel As Range
Set ws = Worksheets(Worksheets("Paramètres").Range("B1").Value)
Set cel = Range(Worksheets("Paramètres").Range("D1").Value)
ouvrirfermer ws, cel
End Sub


Public Sub ouvrirfermer(ws As Worksheet, cel As Range)
Dim cel2 As Range
Dim i As Integer
Dim nb As Integer
Set ws = Worksheets("Paramètres")
Set cel = ws.Range("A35:A50")
i = 1

Set cel2 = cel(i)
nb = Workbooks.Count
While cel2.Value <> "FIN"
Workbooks.Open cel2.Value
Workbooks(nb + 1).Close
i = i + 1
Set cel2 = cel(i)
Wend
End Sub

lol c'était le cumul des 2 erreurs (le S de worksheet et l'affectation d'un classeur dans une feuille ^^
+ un problème avec un range auquel j'affectait une plage puis une cellule et à partir de la cellule reprendre une page :

dim cel as range
dim i as integer
i=1
set cel = cel(i)

blablabla

i = i + 1
set cel = cel(i) et ça ça marche pas lol

Merci de votre aide ^^
 
Dernière édition:
Re : [VBa] Argument Non Falcutatif

re,

Effectivement j'en etais arrive aux meme erreurs.

Maintenant je ne comprends pas le but de ton code, ni ton code en lui meme.

OK tu ouvres et ferme une serie de fichiers mais pourquoi passer des parametres si tu ne t'en sers pas.

Je te livre la ou j'en etais (Attention pas teste):

Code:
Sub bouton()
Dim ws As Worksheet
Dim cel As Range
Set ws = Worksheets(Worksheets("Paramètres").Range("B1").Value)
Set cel = Range(Worksheets("Paramètres").Range("D1").Value)
ouvrirfermer ws, cel
End Sub


Public Sub ouvrirfermer(ws As Worksheet, cel As Range)
Dim wb As Workbook
Dim i As Integer

i = 1

While cel(i).Value <> "FIN"
    Set wb = Workbooks.Open(cel(i).Value)
    wb.Close
    i = i + 1
Wend
End Sub

++
 
Re : [VBa] Argument Non Falcutatif

Lol effectivement j'avais utiliser ca :

Set ws = Worksheets("Paramètres")
Set cel = ws.Range("A35:A50")

pour faire un test et j'avais oublié de l'enlevé, je viens de le faire lol.

Mon code ouvre et ferme des classeurs pour mettre à jours les données dans CE classeur.

Tu comprends mieux ? 😛
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
661
Réponses
5
Affichages
573
Réponses
5
Affichages
910
Réponses
3
Affichages
256
Retour