Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Pb quantificateur objet

  • Initiateur de la discussion Pascale
  • Date de début
P

Pascale

Guest
Bonjour à toues et à tous,

Dans mon code j'ai ces lignes:

Dim ouvrirfichiers As Variant
ouvrirfichiers = Application.GetOpenFilename _
(fileFilter:='Fichiers Excel et Word (*.xls;*.doc),*.xls;*.doc', Title:='Choix de fichier(s)', MultiSelect:=True)

Et à cette ligne:

ouvrirfichiers(compteur).Copy fichfin

j'ai une erreur de quantificateur d'objet 'erreur 424' objet requis, pourtant ouvrirfichiers(compteur) est un nom de fichier ???

Merci de votre aide.

Pascale
 
P

Pascale

Guest
Re bonjour le forum,

En fait c'est fichfin qui est 'string' et non pas un objet. C'est le nom du fichier avec son chemin.Comment en faire un objet.

Bonne journée.

Pascale
 
D

Denis

Guest
Bonjour Pascale et le Forum
je n'ai pas tout saisi (Lol) il est encore trop tôt et les neurones encore endormis, mais essais de déclare fichfin as Workbook
Peut-être ??
Bon courage et à +
Denis
 
P

Pascale

Guest
Bonjour Denis, le forum,

Un petit café et on y va...

Avec 'ouvrirfichiers'; j'ouvre une boite de dialogue pour me permettre de sélectionner DES fichiers Excel et Word.

Ensuite j'ai une boucle : For compteur = 1 To UBound(ouvrirfichiers)
pour copier chaque fichier. ouvrirfichiers(compteur).Copy fichfin

mais fichfin est en 'string' car ouvrirfichiers(compteur) est le nom d'origine complet et je dois changer le chemin pour le copier ailleurs.

Donc 'erreur 424' car fichfin n'est pas un objet !!!

Comment faire?

Pascale
 
D

Denis

Guest
Rebonjour Pascale et le Forum
me revoici un peu + réveillé
à mon avis finfich doit être un tabeau
tu le déclare en début de prcédure comme ceci
Dim finfich()$

ensuite
Redim Preserve finfich(compteur)
ouvrir fichier(compteur).Copy finfich(compteur)

Bon courage et à +
Denis
 
P

Pascale

Guest
Rebonjour Denis,le forum,

Cela n'a rien changer. Voici le code de la boucle:
For compteur = 1 To UBound(ouvrirfichiers)
fit = ouvrirfichiers(compteur)
posi = InStr(1, fit, '\\')
While posi <> 0
fit = Right(fit, Len(fit) - posi)
posi = InStr(1, fit, '\\')
Wend
fichfin = Dossier.SelectedItems(1) & '\\' & fit
Range('a5').Value = fichfin
Range('a6').Value = ouvrirfichiers(compteur)
ouvrirfichiers(compteur).Copy fichfin

Next compteur

en fait j'utilise fichfin comme variable de nouveau chemin et nom de fichier. si cela t'éclaire un peu plus.
A+
Pascale
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…