Formule sur vba
Résolu
Si_bbr
Messages postés
28
Statut
Membre
-
NonoM45 Messages postés 987 Date d'inscription Statut Membre Dernière intervention -
NonoM45 Messages postés 987 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un soucis sur une macro que j'ai faite
Elle fonctionne uniquement si mon document a 2 ligne ou plus, comment faire pour que la formule fonctionne également si il n'y a qu'une seule ligne ?
Sub clem()
'
' dispor Macro
'
' Touche de raccourci du clavier: Ctrl+Shift+D
'
Range("S6").Select
ActiveCell.FormulaR1C1 = "=RC[-4]+(RC[-3]*126)"
Dim dernligne As Long
dernligne = Range("R" & Rows.Count).End(xlUp).Row
Range("S6").AutoFill Destination:=Range("S6:S" & dernligne)
Range("S6").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("O6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("S:S").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Columns("P:P").Select
Selection.Delete Shift:=xlToLeft
Range("A1").Select
End Sub
Merci d'avance
Android / Chrome 117.0.0.0
A voir également:
- Formule sur vba
- Formule si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Excel mise en forme conditionnelle formule - Guide
- Formule somme excel ligne - Guide
1 réponse
Bonjour Si_bbr
Outre le fait que le code peut être optimisé ainsi
Sub clem()
' dispor Macro
' Touche de raccourci du clavier: Ctrl+Shift+D
Dim DerLigne As Long
' Avec la feuille nommée
With Sheets("NomDeLaFeuille")
DerLigne = .Range("R" & Rows.Count).End(xlUp).Row
.Range("S6:S" & DerLigne).FormulaLocal = "=O6+(P6*126)"
.Range("S6:S" & DerLigne).Copy
.Range("O6").PasteSpecial Paste:=xlPasteValues
.Columns("S:S").Delete Shift:=xlToLeft
.Columns("P:P").Delete Shift:=xlToLeft
End With
End Sub
Rien n'empêche qu'il fonctionne s'il n'y a qu'une ligne
Le code travaille seulement à partir de la ligne 6 est-ce bien la 1ère ligne des formules ?
A+
Merci beaucoup le code fonctionne a merveille ????
Et effectivement il est bien plus clair !
Je ne maîtrise pas vba, alors je bidouille les Marcos et ça me fait des codes a rallonge !
Pensez à marquer ma réponse comme solution ;-)