VBA - C/C formules ligne dont n° variable

Y compris Power BI, Power Query et toute autre question en lien avec Excel
T
Towelie
Nouveau venu
Nouveau venu
Messages : 9
Inscrit le : 17 novembre 2017
Version d'Excel : 2007/2016

Message par Towelie » 6 juillet 2018, 16:23

Bonjour,

Je cherche à copier les formules d'une ligne issues d'un premier classeur, pour les coller sur un deuxième classeur :

Dim class_1 As Workbook, class_2 As Workbook

Set class_1 = Workbooks("classeur_1.xlsm")
Set class_2 = Workbooks("classeur_2.xlsx")

Dim li1 As Integer

li1 = class_1.Sheets("feuil1_class1").Range("A1").Value

class_1.Worksheets("feuil1_class1").Row(li1).Copy: class_2.Worksheets("feuil1_class2").Range("A" & li1).PasteSpecial -4123

Le numéro de la ligne que je veux copier peut-être variable. J'ai donc créé "li1" qui est censé récupérer ce numéro de ligne variable grâce à une formule "=LIGNE", dont le résultat s'affiche en "A1" sur la "feuil1_class1" du "classeur_1".

Je veux ensuite coller cette ligne en "A&li1" sur la "feuil1_class2" du "classeur_2".
Ces deux feuilles ont la même mise forme, je cherche à alléger le classeur_2 en ne récupérant que les formules qui me sont nécessaires.

Cependant, erreur 438 qui s'affiche. Avez-vous des idées pour corriger le problème ?


Si ce n'est pas clair, je reste à disposition.
Merci par avance.

Cdlt,
Towelie.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'194
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 6 juillet 2018, 16:43

Bonjour,

Ton erreur provient d'une mauvaise syntaxe, c'est la propriété Rows ....Rows(li1)... qui renverra un objet Range, la propriété Row est destinée à renvoyer un numéro de ligne.

Pour le reste ton code est incomplet (prendre l'habitude d'inclure les déclarations de procédure lorsqu'on cite un code, cela garantit qu'on examine bien la procédure dans sa totalité), on ne sait quelle ligne tu définis par formule en A1 d'une feuille, je n'aime pas trop non plus les copies de lignes entières, mieux vaut toujours cadrer au plus serré son intervention... Il est donc hasardeux de te faire des propositions d'améliorations, ou alternatives.

Cordialement.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message