Formule Excel qui ne s'étire pas
Bertrand.d
-
Bertrand.dh Messages postés 5 Statut Membre -
Bertrand.dh Messages postés 5 Statut Membre -
Bonjour,
Je suis en train de développer une macro en VBA sur Excel. J'ai utilisé l'éditeur puis j'ai cleané le code et rajouté des commandes à la main.
Cependant, la formule Pos*Imp ne s'étire pas lors du lancement de la macro. La formule se met uniquement sur la première ligne et elle me rempli la colonne avec des 0.
Voici le code :
Je suis en train de développer une macro en VBA sur Excel. J'ai utilisé l'éditeur puis j'ai cleané le code et rajouté des commandes à la main.
Cependant, la formule Pos*Imp ne s'étire pas lors du lancement de la macro. La formule se met uniquement sur la première ligne et elle me rempli la colonne avec des 0.
Voici le code :
Sub KW()
'
' KW Macro
'
'
' Désactivation du Screen Refreshing
Application.ScreenUpdating = False
'Suppression des lignes indésirables
Rows("1:5").Delete Shift:=xlUp
' Changement du nom des colonnes
Range("K1").FormulaR1C1 = "CA"
Range("I1").FormulaR1C1 = "Match Type"
' Ajustement de la taille des colonnes
Cells.EntireColumn.AutoFit
' Sélection des données et création d'un tableau "Data"
ActiveSheet.ListObjects.Add(xlSrcRange, Range(ActiveCell, Cells(ActiveCell.End(xlDown).Row, ActiveCell.End(xlToRight).Column)), , xlYes).Name = "Data"
Range("Data[#All]").Select
ActiveSheet.ListObjects("Data").TableStyle = "TableStyleLight16"
' Création des nouvelles colonnes avec formules
Range("L1").FormulaR1C1 = "Pos*Imp"
Range("L2").FormulaR1C1 = "=[@[Position moy.]]*[@Impressions]"
Range("M1").FormulaR1C1 = "N° Semaine"
Range("M2").FormulaR1C1 = "=ISOWEEKNUM([@Semaine])"
Range("N1").FormulaR1C1 = "Année"
Range("N2").FormulaR1C1 = "=YEAR([@Semaine])"
' Mise en force des valeurs des colonnes
Range("Data[Impressions]").Select
Selection.Style = "Comma"
Selection.NumberFormat = "_-* #,##0 _€_-;-* #,##0 _€_-;_-* ""-""?? _€_-;_-@_-"
Range("Data[Clics]").Select
Selection.Style = "Comma"
Selection.NumberFormat = "_-* #,##0 _€_-;-* #,##0 _€_-;_-* ""-""?? _€_-;_-@_-"
Range("Data[Coût]").Select
Selection.Style = "Currency"
Selection.NumberFormat = "_-* #,##0 $_-;-* #,##0 $_-;_-* ""-""?? $_-;_-@_-"
'Range("Data[Position moy.]").Select
'Selection.Style = "Comma"
'Selection.NumberFormat = "0.00"
Range("Data[Conversions]").Select
Selection.Style = "Comma"
Selection.NumberFormat = "_-* #,##0 _€_-;-* #,##0 _€_-;_-* ""-""?? _€_-;_-@_-"
Range("Data[CA]").Select
Selection.Style = "Currency"
Selection.NumberFormat = "_-* #,##0 $_-;-* #,##0 $_-;_-* ""-""?? $_-;_-@_-"
'Range("Data[Pos*Imp]").Select
'Selection.Style = "Comma"
'Selection.NumberFormat = "0.00"
' Suppression de la dernière ligne du tableau
Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).EntireRow.Delete
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Ma formule excel ne s'étire pas
- Formule si et excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Liste déroulante excel - Guide
- Excel mise en forme conditionnelle formule - Guide
- Formule somme excel ligne - Guide
5 réponses
Après avoir placé des points d'arrêt dans le code, l'érreur semble venir des lignes 26/27. Je serais donc interéssé par une correction de ces lignes.
Merci d'avance.
Merci d'avance.
Bonjour,
Pour commencer si :Pos*Imp est une formule.... il ne faut pas oublier de mettre le "=" devant !
Ensuite.. il est préférable d'utiliser le FormulaLocal au lieu du R1C1.
https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.formulalocal?redirectedfrom=MSDN
Pour commencer si :Pos*Imp est une formule.... il ne faut pas oublier de mettre le "=" devant !
Range("L1").FormulaR1C1 = "=Pos*Imp"
Ensuite.. il est préférable d'utiliser le FormulaLocal au lieu du R1C1.
https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.formulalocal?redirectedfrom=MSDN
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
"cleaner" est un verbe français ?
Après ce cynisme, ça me paraît normal que la formule ne s'étire pas puisque rien dans le code ne permet de l'étirer, du genre :
En tout cas dans ce qui apparaît.
S'il y a des 0 c'est parce que tu indiques le format des cellules.
A+
"cleaner" est un verbe français ?
Après ce cynisme, ça me paraît normal que la formule ne s'étire pas puisque rien dans le code ne permet de l'étirer, du genre :
Selection.AutoFill Destination:=Range("...."), Type:=xlFillDefault
En tout cas dans ce qui apparaît.
S'il y a des 0 c'est parce que tu indiques le format des cellules.
A+