VBA et formule excel

SwimCoachNico79

XLDnaute Occasionnel
Bonsoir à tous,
J'ai crée la macro suivante via un enregistrement automatique :

Sub Macro1()
'
' Macro1 Macro
'

'
Application.WindowState = xlMinimized
Application.WindowState = xlNormal
Range("H2").Select
ActiveCell.FormulaR1C1 = _
"=IF(LEN(RC[-2])=0,"""",IF(LEN(RC[-2])<6,RC[-2]/86400,IF(LEN(RC[-2])>6,RC[-2]/1)))"
Range("J11").Select
End Sub

Ma question : cette macro marche pour la cellule "H2" mais comment l'automatiser pour qu'elle fonctionne sur toute la colonne "H:H" de mon onglet.

Merci d'avance pour vos réponses et votre aide.
Bonne soirée,

SCN79
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : VBA et formule excel

Bonjour SCN,

avec ce code:
Code:
Range("H2").Select
ActiveCell.FormulaR1C1 = _
"=IF(LEN(RC[-2])=0,"""",IF(LEN(RC[-2])<6,RC[-2]/86400,IF(LEN(RC[-2])>6,RC[-2]/1)))"
Selection.AutoFill Destination:=Range("H2:H" & Range("F65535").End(xlUp).Row), Type:=xlFillDefault
à+
Philippe
 

JCGL

XLDnaute Barbatruc
Re : VBA et formule excel

Bonjour à tous,
Salut Philippe,

Un peu plus court :

VB:
Sub Test()
Range("H2:H" & Range("F65535").End(xlUp).Row).Formula = "=IF(LEN(RC[-2])=0,"""",IF(LEN(RC[-2])<6,RC[-2]/86400,RC[-2]/1))"
End Sub

A+ à tous
 

eriiic

XLDnaute Barbatruc
Re : VBA et formule excel

Bonsoir à tous,

Par contre ce n'est peut-êtree pas une bonne idée de remplir toute le colonne H si ça ne te sert pas dans l'immédiat.
Tu vas alourdir ton classeur inutilement.
Il vaut mieux l'étendre au fur et à mesure.
Ou bien convertir ta plage utile en Tableau (2010), l'extension se fera automatiquement.

eric
eric
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : VBA et formule excel

Re,

Bonsoir à tous,

Par contre ce n'est peut-êtree pas une bonne idée de remplir toute le colonne H si ça ne te sert pas dans l'immédiat.
Tu vas alourdir ton classeur inutilement.
Il vaut mieux l'étendre au fur et à mesure.
Ou bien convertir ta plage utile en Tableau (2010), l'extension se fera automatiquement.

eric
eric
@Eric:

dans les solutions de Jean-Claude et la mienne, on ne propage pas la formule sur toute la colonne H
La formule faisant référence à la colonne F, on en tient compte avec ceci:
Range("H2:H" & Range("F65535").End(xlUp).Row)

il n'y a pas à craindre un alourdissement inutile du fichier

à+
Philippe
 

Discussions similaires

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 765
dernier inscrit
Pi4