Étendre une formule jusqu'à la dernière colonne
Jrmy
-
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je cherche tout simplement un code VBA pour étendre une formule automatiquement d'une cellule de départ à la dernière colonne de la ligne sans la citer. Par exemple de la cellule A3 jusqu'à la F3, mais la dernière colonne remplie n'est pas forcément la F ....
J'ai essayé deux codes différents :
Dim dercol As Long
dercol = Cells(1, Cells.Columns.count).End(xlToLeft).Column
Range("BT8").Select
Selection.AutoFill Destination:=Range("BT8:BT" & dercol), Type:=xlFillDefault
Ainsi que :
Dim DernCol As Integer
DernCol = Range("BT8").End(xlToRight).Column
Range("BT8").Select
Selection.AutoFill Destination:=Range("BT8:BT" & dercol), Type:=xlFillDefault
Mais aucun des deux ne fonctionne ...
Merci à vous pour votre aide !
Jérémy
Je cherche tout simplement un code VBA pour étendre une formule automatiquement d'une cellule de départ à la dernière colonne de la ligne sans la citer. Par exemple de la cellule A3 jusqu'à la F3, mais la dernière colonne remplie n'est pas forcément la F ....
J'ai essayé deux codes différents :
Dim dercol As Long
dercol = Cells(1, Cells.Columns.count).End(xlToLeft).Column
Range("BT8").Select
Selection.AutoFill Destination:=Range("BT8:BT" & dercol), Type:=xlFillDefault
Ainsi que :
Dim DernCol As Integer
DernCol = Range("BT8").End(xlToRight).Column
Range("BT8").Select
Selection.AutoFill Destination:=Range("BT8:BT" & dercol), Type:=xlFillDefault
Mais aucun des deux ne fonctionne ...
Merci à vous pour votre aide !
Jérémy
A voir également:
- Étendre une formule jusqu'à la dernière colonne
- Dernière version ccleaner gratuit français - Télécharger - Nettoyage
- Formule somme excel colonne - Guide
- Déplacer une colonne excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule si et - Guide
1 réponse
Bonjour,
En supposant que ta ligne fasse partie d'un tableau sur la feuille Feuil1 :
En supposant que ta ligne fasse partie d'un tableau sur la feuille Feuil1 :
Option Explicit Sub XXX() Dim cel As Range Dim rng As Range With Worksheets("Feuil1") Set cel = .Range("A3") Set rng = Intersect(cel.CurrentRegion, cel.EntireRow) cel.AutoFill rng End With End SubNote : il faut bannir l'utilisation de .Select en VBA !!!
Lorsque je lance la macro le message d'erreur suivant apparait : " Erreur d'exécution '1004' : La méthode Autofill de la classe Range a échoué." Est ce que tu sais ce que cela signifie ?
J'ai cru comprendre qu'il n'était en effet pas nécessaire d'utiliser .Select, mais je n'ai pas compris pourquoi ?
La cellule est-elle dans un tableau (i.e. sans ligne ni colonne entièrement vide) ?
Il faut bannir .Select car c'est la principale source d'erreur et c'est inutile pour agir sur une propriété d'objet..
La cellule se trouve dans un tableau
Option Explicit
Sub Substances()
Range("BT9").Select
ActiveCell.FormulaR1C1 = _
"=RIGHT(LEFT(R[1]C,SEARCH(""/"",R[1]C)-1),LEN(LEFT(R[1]C,SEARCH(""/"",R[1]C)-1))-SEARCH("" "",LEFT(R[1]C,SEARCH(""/"",R[1]C)-1)))"
Range("BT9").Select
Selection.AutoFill Destination:=Range("BT9:CI9"), Type:=xlFillDefault
Range("BT9:CI9").Select
Selection.Copy
Range("BT8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Range("BT8").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R[1]C,substances,4,FALSE)"
Range("BT8").Select
Dim cel As Range
Dim rng As Range
With Worksheets("Rapport detaille")
Set cel = .Range("BT8")
Set rng = Intersect(cel.CurrentRegion, cel.EntireRow)
cel.AutoFill rng
End With
End Sub
Je m'excuse d'avance pour tous ces .Select, je débute :D