OVH Cloud OVH Cloud

nombre de lignes variables dans une macro

3 réponses
Avatar
galact
Dans une macro (écrite par l'enregistreur !), j'ai ceci :
Range("F3").Select
Selection.AutoFill Destination:=Range("F3:F1650")
Range("F3:F1650").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Tout cela va fort bien, mais si j'ai un nombre différent de 1650 lignes, la
macro ne fonctionne plus bien.
Par facilité, j'ai remplacé ce nombre par 65000 pour arriver en fin de
feuille, le problème et qu'il faut ensuite supprimer les lignes vides sinon
mes fichiers prennent un poids énorme.
Merci pour votre réponse.
Bonne soirée

3 réponses

Avatar
JLuc
*Bonjour galact*,
Essaie comme ca :

Fin = Range("F65536").End(xlup).Raw
Range("F3").Select
Selection.AutoFill Destination:=Range("F3:F" & Fin)
Range("F3:F" & Fin).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O
Avatar
AV
Si en F3 tu as une formule que tu souhaites recopier jusqu'en Fxxxxxx (F est à
définir en se servant des colonnes servant d'antécédents à la formule)
Exemple :
Range("F4:F" & [D65536].End(3).Row) = [F3].Formula

AV
Avatar
JLuc
Petite erreur :
Fin = Range("F65536").End(xlup).Row
Fin = Range("F65536").End(xlup).Raw
Range("F3").Select
Selection.AutoFill Destination:=Range("F3:F" & Fin)
Range("F3:F" & Fin).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
Si tu veux passé outre les limitations Excel a venir :

Fin = Range("F" & Rows.Count).End(xlUp).Row

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O