VBA étendre les formules (positions de départ et de fin changeantes chaque jour)

merguez59

XLDnaute Nouveau
Bonjour,

J’ai des données sans formules sur la plage de valeurs : A1 :D5
J’ai des formules de E1 à G1 (E1 :G1)

Je souhaite, avec une macro, étendre les formules de E1 jusqu’à G5.

Je veux que la formule soit « universelle » car, si aujourd’hui les formules à étendre sont en E1 :G1 et la dernière ligne de données sans formule est A5 :D5, demain, les dernières formules à étendre seront en E5 :G5, mais j’ignore jusqu’à quelle ligne iront les données sans formule que je vais ajouter à partir colonnes A6 à D6.

Voici en pièce jointe un exemple.

Merci d’avance pour votre aide,

Cordialement
 

Pièces jointes

  • vba etendre formules - Copie.xlsx
    9.1 KB · Affichages: 37

Victor21

XLDnaute Barbatruc
Re : VBA étendre les formules (positions de départ et de fin changeantes chaque jour)

Bonjour, Merguez 59.

Et sans macro, cela vous conviendrait ?
Cliquez en A1
Cliquez sur "Mettre sous forme de tableau, choisissez la couleur et valides.
Editez et validez EE,F2 et G2.
Chaque nouvelle ligne (à condition de ne pas laisser de ligne vide) contiendra les formules définies.
 

merguez59

XLDnaute Nouveau
Re : VBA étendre les formules (positions de départ et de fin changeantes chaque jour)

Bonjour Victor,

merci pour ton aide. Je ne connaissais pas cette méthode: intéressante et je l'utiliserai dans d'autres occasions!

Néanmoins, dans le cadre de ce que je suis en train de faire actuellement, les actions pour lesquelles je demande votre aide font partie d'une macro plus longue qui arrive à ce moment là à une plage de donnée qu'il faut étendre.

Le fichier en PJ n'est qu'une simplification d'un fichier plus lourd.

Je souhaite que ce soit fait en macro

merci d'avance,
 

merguez59

XLDnaute Nouveau
Re : VBA étendre les formules (positions de départ et de fin changeantes chaque jour)

Bonjour

J'ai essayé, ça ne fonctionne pas

Voici ce que j'ai écrit:

Code:
Sub RRREEECCC()
With [B1].Resize(Range("A65000").End(xlUp).Row)
.FormulaR1C1 "=RC[-3]+5"
'.Value = .Value 'facultatif, supprime les formules
End With
End Sub


en pj le fichier

Merci d'avance,
 

Pièces jointes

  • 336385d1432740924-vba-etendre-les-formules-positions-de-depart-et-de-fin-changeantes-chaque-jou.xlsm
    13.1 KB · Affichages: 26

merguez59

XLDnaute Nouveau
Re : VBA étendre les formules (positions de départ et de fin changeantes chaque jour)

Voici ce que j'ai essayé


Code:
Sub Macro1()
'

Range("E1:G1").select
Selection.AutoFill Destination:=Range("E1:G5")



End Sub

'à partir de là j'ai vu que ceci était possible:

Code:
Sub Macro2()

Range("E1:G1").select
nbdeLigne = Range("A" & Rows.Count).End(xlUp).Row
Selection.AutoFill Destination:=Range("E1:G"& nbdeLigne)

end sub
'ça fonctionne très bien, mais si demain, j'ajoute des valeurs de A6 à D11, comment faire en sorte que
la macro sache qu'à cet endroit:

Code:
Selection.AutoFill Destination:=Range("E1:G"& nbdeLigne)

E1 est variable?


car j'ai essayé ça, mais ça ne fonctionne pas:


Code:
Sub Macro3()

Range("E1:G1").select
nbdeLigne = Range("A" & Rows.Count).End(xlUp).Row
nbdeLignebis = Range("E" & Rows.Count).End(xlUp).Row
Selection.AutoFill Destination:=Range("E& nbdeLignebis:G"& nbdeLigne)

end sub

merci d'avance pour votre aide!
 

Victor21

XLDnaute Barbatruc
Re : VBA étendre les formules (positions de départ et de fin changeantes chaque jour)

Re,

Vous avez mal recopié (manquait un "="), et mal adapté (vous essayez de recopier B1).
Regardez la pj. Exemple pour les colonnes E et F, et à adapter pour G.
 

Pièces jointes

  • Merguez59.xlsm
    15.1 KB · Affichages: 36

merguez59

XLDnaute Nouveau
Re : VBA étendre les formules (positions de départ et de fin changeantes chaque jour)

Bonjour Victor,

merci de ton aide.
ça fonctionne bien et même quand j'ajoute des données après A5:D5, ça fonctionne.

Par contre en lisant la formule, celle-ci relance le fait d'étendre les formules depuis E1 et F1.

Est-il possible de faire en sorte qu'elle fasse l'étirement de formule depuis la ligne la plus basse de E, F et G?


=> j'ajoute des données entre A6:D11, la formule commencerait à E5 et F5.
=>le lendemain, j'ajoute des données entre A12:D15, la formule commencerait à E11 F11

etc, etc.... En fait chaque jour, l'ensemble du tableau est copier collé en valeur une fois les calculs effectués.

merci d'avance,
 

merguez59

XLDnaute Nouveau
Re : VBA étendre les formules (positions de départ et de fin changeantes chaque jour)

Bonjour

Je pense être parvenu à résoudre mon problème: étendre mes formules à partir de ma sélection. Voilà ce que ça donne (à lancer quand la plage de donnée est sélectionnée):

Code:
Sub Macro3()

 
 nbdeLigne = Range("A" & Rows.Count).End(xlUp).Row
 nbdeLignebis = Range("E" & Rows.Count).End(xlUp).Row
 Selection.AutoFill Destination:=Range(Range("E" & nbdeLignebis), Range("G" & nbdeLigne))

 End Sub

merci!

Bonne journée
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 165
Messages
2 085 880
Membres
103 009
dernier inscrit
dede972