XL 2010 Adaptation vba avec ThisWorkbook.Path

ced91300

XLDnaute Occasionnel
Bonjour à tous,

j'ai un vba pour recopier une plage de cellule d'un fichier fermé, pas de soucis il me le fait correctement

hors les fichiers vont être régulièrement changés de place, je voulais y mettre ThisWorkbook.Path pour que le chemin s'adapte mais hélas je n'y arrive pas

.Formula = "='C:\Users\cedric\Desktop\[fichierx.xlsm]'!A2:F100" est la ligne de code que je souhaite adapter avec ThisWorkbook.Path

Fichier joint, (vba en module1)

Merci de votre aide.

Cordialement
 

Pièces jointes

  • essai2 - Copie.xlsm
    19.7 KB · Affichages: 8

ced91300

XLDnaute Occasionnel
S'agissant d'une plage il faut sans doute créer une formule matricielle :
VB:
.FormulaArray = "='" & ThisWorkbook.Path & "\[fichierx.xlsm]'!A2:F100"
Bonjour job75
J'ai une question supplémentaire, est il possible que cela copie que jusqu'à la dernière ligne non vide avec style End(xlUp) , étant donné que le nombre de ligne sera très variable? (j'ai essayé d'adapté, mais sans succès)
merci
 

job75

XLDnaute Barbatruc
J'ai une question supplémentaire, est il possible que cela copie que jusqu'à la dernière ligne non vide avec style End(xlUp)
Non, a priori on ne connaît pas le nombre de lignes car le fichier source est fermé.

Il faut donc copier toute la plage A2:F100 et si ce n'est pas suffisant la plage A2:F1000.

Bien sûr il y aura ainsi plein de zéros mais on peut les supprimer avec Replace :
VB:
.Value = .Value 'supprime les formules
.Replace 0, "", xlWhole
 

Statistiques des forums

Discussions
294 211
Messages
1 936 901
Membres
188 103
dernier inscrit
srr77