VBA problème de déclarations - variables

Bonjour Forum,

petit soucis sur cette macro.

Sub essai()

Sheets("modele comptes").Copy After:=Worksheets(Worksheets.Count) ''nouvel onglet

ActiveSheet.Name = Format(Date, "dd-mm-yy")

Range("i2") = Date

Range("f8:i9").Copy

Range("f8").Select

Selection.PasteSpecial Paste:=xlValues

Range("f13:f15").Copy

Range("f13").Select

Selection.PasteSpecial Paste:=xlValues

Range("base!m7:base!top_guedon").Copy

''''''''Range("b65").Offset(-"base!NB_comptes", 0).Select

Range("b65").Offset(-11, 0).Select

ActiveSheet.Paste

Selection.PasteSpecial Paste:=xlValues

End Sub

Voila: "NB_comptes" est une formule dans la feuille "base" (formule NBVAL)

j' ai besoin de récupérer cette valeur dans le Offset.

Je ne sais comment faire pour écrire cette ligne de code ; peut-être déclarer en variable ?

Sur la ligne du dessous j'ai écrit la valeur réelle (11) pour voir si çà marche , c'est OK.

Pouvez-vous m'aider sur ce coup là ?

bien amicalement........Claude.

Bonjour,

Essaye ceci --> Range("b65").Offset(-NB_comptes, 0).Select

Autre chose : Activesheet.paste me semble ne servir à rien dans ta macro puisque tu colles à nouveau dans l'instruction suivante.

Amicalement

Dan

Edition

remplace :

Range("f13:f15").Copy 
Range("f13").Select 
Selection.PasteSpecial Paste:=xlValues

par

Range("f13:f15").Copy 
Range("f13").PasteSpecial Paste:=xlValues

Même chose dans les instructions similaires.

Dan

re,

Nad, il y a un Hic !

on dirait que " NB_comptes" n'est pas reconnu , j'ai essayé çà : pour tester

 Range("a1") = NB_comptes
 Range("b65").Offset(-NB_comptes, 0).Select

1- en "a1" je n'est rien

2 - offset n' est pas pris en compte ,normal puisque reconnu vide !!!!

alors que NB_comptes = 11

vois-tu une solution?

pour les copier-coller , j' ai besoin de récupérer le formatage + les valeurs.

Claude.

re,

à noter que "NB_comptes" n'est pas dans la feuille active !

Claude.

Re,

Je n'ai pas ton fichier donc pas facile.

Tu peux me mettre ici la formule de NB_comptes telle que tu la récupère dans menu/Insertion/nom/définir ?

Lorsque tu tapes =NB_COMPTES dans une cellule, tu obtiens quoi ?

A te relire

Dan

re,

nom/définir "NB_comptes" =base!$M$1

si je tape =NB_comptes dans une cellule, j' obtient bien. 11 (même dans une autre feuille)

je peux pas joindre le fichier (400Ko)

Claude.

Re,

essaye --> Range("b65").Offset(-Range("NB_comptes"), 0).Select

A te lire

Dan

Re,

OUF, c'est bon !

 Range("a1") = Range("NB_comptes")
 Range("b65").Offset(-Range("NB_comptes"), 0).Select

pour ma gouverne ; c'est l' écriture normale ? ou bien il faut ajouter range parce-que

"NB_comptes" est ailleurs que la feuille active ?

j' essaye de comprendre.

en tout cas, merci Dan

à+........Claude.

Re,

Non, le RANGE c'est parce que la valeur NB_COMPTES qui se trouve en cellule M1 est une cellule donc un RANGE en VBA.

Par contre l'instruction Range("A1") ....... ne me semble servir à rien dans ton cas sauf si tu veux voir la valeur de NB comptes en A1 bien sûr.

Dan

bonsoir,

Merci Dan , pour tes explications.

je prend bonne note.

à+.......Claude.

Rechercher des sujets similaires à "vba probleme declarations variables"