Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recopie automatique d'une formule

2 réponses
Avatar
David Giono
B'soir !

Il y a quelque temps, j'avais demandé comment coder en VBA la recopie d'une
formule de la cellule A1 à A... sachant que la dernière ligne varie en
fonction de chaque fichier. J'avais eu une réponse qui fonctionne sans
problème lorsque la colonne où je souhaite insérer la formule est connue.
range("a1").formulalocal=somme("B1:C1")
[A1].AutoFill Destination:=Range("A1:A & Cells(65536,2).End(xlUp).Row)

Le problème est que la colonne où je souhaite insérer la formule est
variable en fonction du fichier. Je suis arrivé à lui faire insérer la
formule dans la bonne première cellule de la bonne colonne dont l'en-tête de
colonne est "Détection de problèmes" mais je n'arrive pas à lui faire
recopier.

Merci de votre aide.

2 réponses

Avatar
gerard v
salut

surement une piste

Sub maRecopie()
Sheets("feuil1").Activate
' recopie la formule
Cells(1, 1).Select ' selectionne la cellule a copier, I etant une Varible
designat le ligne
'copie la formule
Selection.AutoFill Destination:=Range(Cells(1, 1), Cells(5, 1)),
Type:=xlFillDefault
End Sub
Cells(5,1) est la deniere cellule de la colonne a copier

dans ce cas cela va recopîer la cellule A1 jusqu'en A5
ensuite tu peux remplacer les chiffres par des variable et pas de probleme

A++
gerard

"David Giono" a écrit dans le message de
news:%23yw%
B'soir !

Il y a quelque temps, j'avais demandé comment coder en VBA la recopie
d'une

formule de la cellule A1 à A... sachant que la dernière ligne varie en
fonction de chaque fichier. J'avais eu une réponse qui fonctionne sans
problème lorsque la colonne où je souhaite insérer la formule est connue.
range("a1").formulalocal=somme("B1:C1")
[A1].AutoFill Destination:=Range("A1:A & Cells(65536,2).End(xlUp).Row)

Le problème est que la colonne où je souhaite insérer la formule est
variable en fonction du fichier. Je suis arrivé à lui faire insérer la
formule dans la bonne première cellule de la bonne colonne dont l'en-tête
de

colonne est "Détection de problèmes" mais je n'arrive pas à lui faire
recopier.

Merci de votre aide.




Avatar
Hervé
Salut David,
Je ne sais pas si j'ai bien compris mais voici un exemple de recopie :

Sub RecopieFormule()
Dim Colonne As Integer
Dim Ligne As Long
'colonne où sera inscrit les formules.
'à adapter puisque tu sais comment récupérer la bonne colonne.
'dans l'exemple, colonne C
Colonne = 3
'recherche la dernière ligne non vide
'adapter la position par rapport à la colonne cible des formules.
'dans l'exemple, colonne A car la formule y fait référence
Ligne = Cells(65536, Colonne - 2).End(xlUp).Row
'inscrit les formules.
'dans l'exemple, colonne C
'la formule peut aussi ne pas être en dur.
Range(Cells(1, Colonne), _
Cells(Ligne, Colonne)).FormulaLocal = "=SOMME(A1:B1)"
End Sub

Hervé.

"David Giono" a écrit dans le message news:
#yw#
B'soir !

Il y a quelque temps, j'avais demandé comment coder en VBA la recopie
d'une

formule de la cellule A1 à A... sachant que la dernière ligne varie en
fonction de chaque fichier. J'avais eu une réponse qui fonctionne sans
problème lorsque la colonne où je souhaite insérer la formule est connue.
range("a1").formulalocal=somme("B1:C1")
[A1].AutoFill Destination:=Range("A1:A & Cells(65536,2).End(xlUp).Row)

Le problème est que la colonne où je souhaite insérer la formule est
variable en fonction du fichier. Je suis arrivé à lui faire insérer la
formule dans la bonne première cellule de la bonne colonne dont l'en-tête
de

colonne est "Détection de problèmes" mais je n'arrive pas à lui faire
recopier.

Merci de votre aide.