Collage Spéciale Formule

  • Initiateur de la discussion Initiateur de la discussion Romy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

Romy

Guest
Bonsoir,
pourriez-vous m'aider, via la correction de ma macro, à coller non pas la cellule (C2) tel je le décris ci-dessous, mais à copier la formule de C2 ?

la macro ci-ap copie la valeur de la cellule C2 dans les cellules de la colonne C chaque fois qu'il existe une ligne non vide dans la colonne B

In fine, je souhaiterais que la macro copie plutôt la formule que la valeur de cette cellule.

mon tableau (c'est un exemple)
Nom Tarif Réel
toto 1 2 12
toto 2 4
toto 3 8
toto 4 10
toto 5 14
toto 6 16
toto 7 19
toto 8 23
toto 9 26
toto 10 29

ma macro :
Sub totoC2()
Range("C3:C65536").ClearContents
Application.ScreenUpdating = False
lig = Range("B65536").End(xlUp).Row
Range("C3:C" & lig) = Range("C2")

Merci par avance
 
Bonsoir Romy,


Range("C3:C" & lig).Formula = Range("C2").Formula
répondra peut-être à ta question.


Cordialement,
Didier_mDF

myDearFriend-3.gif
 
re :

désolé pour l'autre réponse !

Sub totoC2()

Dim Lig, Boucle As Integer
Dim Formule As String

Range("C3:C65536").ClearContents
'Application.ScreenUpdating = False
Lig = Range("B65536").End(xlUp).Row
Formule = Range("C2").Formula
For Boucle = 3 To Lig
Range("C" & Boucle).Value = Formule
Next Boucle

End Sub

Lupin
 
bonsoir"Romy" bonsoir "myDearFriend"
Bonsoir le "FORUM"
je viens de tester la proposition demon ami et cela fonctionne
tu devrais aussi si celà n'est pas déjà fait, consulter l'aide d'excel
Exemple
Cet exemple montre comment exécuter une recopie incrémentée dans les cellules A1 à A20 de la feuille Sheet1, à partir de la plage source A1:A2 située dans la feuille Sheet1. Avant d'exécuter cet exemple, tapez 1 dans la cellule A1 et 2 dans la cellule A2.

Set sourceRange = Worksheets("Sheet1").Range("A1:A2")
Set fillRange = Worksheets("Sheet1").Range("A1:A20")
sourceRange.AutoFill Destination:=fillRange
celà peut être une solution en l'aménageant
A+++
Jean Marie
 
Bonsoir à tous (Lupin, Jean-Marie)

je vais vous paraître peut-être agaçant, mais étant novice, non seulement dans l'approche Forum, mais également dans l'approche Macro (je pensais que cela était plus simple !...) ==> il est entendu que je vais devoir m'acheter un livre sur le VBA, cependant,

Pourriez-vous m'expliquer pourquoi la macro de Lupin, copie bien la formule de la cellule C2, mais ne " l'adapte " pas aux autres cellules ?

Dans mon approche, je souhaite, si par exemple la formule en C2 est (B2+10), lors de la copie sur les autres cellules, lui voir prendre la valeur B3+10 en regard de la cellule C3, B4+10 en regard de C4, etc ...

Je ne sais pas si je me suis bien expliqué, mais j'espère que vous saurez être patient !...
 
Salut "Romy" bonsoir à tous

je ne suis pas un pro
mais la formule de lupin ne peut fonctionner

car elle ne fait que recopier la formule de C2 soit A2+B2
et non l'adapter
Formule = Range("C2").Formula
For Boucle = 3 To Lig
Range("C" & Boucle).Value =Formule[/b )

celle de mon ami mDF incremente la formule soit A3+B3.....etc

A+++
Jean Marie
 
Re "Romy" et le "Forum"
un petit exemple en pièce jointe
je te conseille d'utiliser l'enregistreur de Macro de la barre "VISUAL BASIC"
tu pourras ainsi apprendre de nombreuses choses....
A+++
Jean Marie
 

Pièces jointes

Jean-Marie,

j'ai beaucoup de mal à comprendre !...

mais peut-être que si je vous joignais mon fichier "toto", vous seriez à même de mieux me faire comprendre vos solutions.

je viens de tester ce que tu me préconises en dernier ==> cela me permet certes de copier la formule dans les cellules depuis C3, mais avec un décalage :

en regard de C3, j'ai la formule à l'identique de C2 soit (B2*6) et non (B3*6)
en regard de C4, j'ai la formule (B3*6) au lieu de (B4*6), etc ...

c'est presque bon, avec cependant un "petit" décalage !...

dans mon fichier, j'ai nommé la macro Lupin et la macro Didier

@+ de vous lire
 

Pièces jointes

re re "Romy"
tu modifies la solution de "Didier_mDF"
juste une adaptation au niveu de la plage, inclure la plage où se trouve la formule
Sub Didier()
Range("C3:C65536").ClearContents
Application.ScreenUpdating = False
Lig = Range("B65536").End(xlUp).Row
Range("C2:C" & Lig).Formula = Range("C2").Formula

End Sub
A+++
Jean Marie
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
18
Affichages
314
Réponses
2
Affichages
328
Réponses
10
Affichages
547
Réponses
2
Affichages
796
Réponses
4
Affichages
243
Réponses
15
Affichages
784
Retour