Appliquer Formule dans toute une colonne

Bonjour,

Je souhaite appliquer une formule dans toute la colonne R et une autre formule dans toute la colonne S depuis la ligne 5 en cliquant sur un bouton. Mon code VBA fonctionne avec la formule de la colonne R mais pas avec celle de la colonne S.

Voici mon code :

Sub AppliquerFormuleColonne()

    'Déclarer la constante de la notion de dernière ligne
    Dim DerniereLigne As Long
    'Déclarer la constante de la notion de formule
    Dim FormuleTauxHoraire As String
    'Déclarer la constante de la notion de formule
    Dim FormuleTauxHoraireMajore As String

    'déterminer la dernière ligne avec des données dans la colonne A
    DerniereLigne = ThisWorkbook.Worksheets("BD PAYE").Range("A" & Rows.Count).End(xlUp).Row

    'Définir la formule pour calculer le taux horaire à appliquer
    FormuleTauxHoraire = "=IF(U5="""",0,IF(N5="""",0,U5/N5))"
    'Appliquer la formule pour calculer le taux horaire depuis la cellule R5 à la dernière ligne
    ThisWorkbook.Worksheets("BD PAYE").Range("R5:R" & DerniereLigne).Formula = FormuleTauxHoraire

    'Définir la formule pour calculer le taux horaire majoré à appliquer
    FormuleTauxHoraireMajore = "=IF(H5<>"",R5*1,25,"""")"
    'Appliquer la formule pour calculer le taux horaire majoré depuis la cellule S5 à la dernière ligne
    ThisWorkbook.Worksheets("BD PAYE").Range("S5:S" & DerniereLigne).Formula = FormuleTauxHoraireMajore

End Sub
capture d ecran formule taux horaire majore

Pourriez-vous m'aider à debuguer ?

Je vous remercie

Cordialement,

Bonjour

Pourquoi ne pas tout simplement pas utiliser un tableau structuré dont c'est le fonctionnement naturel ?

Bonjour,

Merci pour avoir réfléchi sur mon sujet.

J'ai envisagé la solution du tableau structuré et je l'ai même proposé. Mais c'est un fichier commun avec toutes les entreprises d'un groupe et le groupe ne veut pas changer le formalisme du tableau actuel, je ne peux pas le restructurer avec des tableaux structués. C'est pour cela que j’essaie de faire appel à VBA
parce que cela conserve le formalisme du tableau actuel.

Cordialement,

Bonsoir Elena

voici un code à tester

Sub AppliquerFormuleColonne()

    ' Déclarer la constante de la notion de dernière ligne
    Dim DerniereLigne As Long
    ' Déclarer la constante de la formule pour le taux horaire
    Dim FormuleTauxHoraire As String
    ' Déclarer la constante de la formule pour le taux horaire majoré
    Dim FormuleTauxHoraireMajore As String

    ' Déterminer la dernière ligne avec des données dans la colonne A
    DerniereLigne = ThisWorkbook.Worksheets("BD PAYE").Range("A" & Rows.Count).End(xlUp).Row

    ' Définir la formule pour calculer le taux horaire à appliquer
    FormuleTauxHoraire = "=IF(U5="""";0;IF(N5="""";0;U5/N5))"
    ' Appliquer la formule pour calculer le taux horaire depuis la cellule R5 à la dernière ligne
    ThisWorkbook.Worksheets("BD PAYE").Range("R5:R" & DerniereLigne).Formula = FormuleTauxHoraire

    ' Définir la formule pour calculer le taux horaire majoré à appliquer
    ' Correction : utiliser le bon opérateur de comparaison et la bonne syntaxe de formule
    FormuleTauxHoraireMajore = "=IF(H5<>""""; R5*1.25; """")"
    ' Appliquer la formule pour calculer le taux horaire majoré depuis la cellule S5 à la dernière ligne
    ThisWorkbook.Worksheets("BD PAYE").Range("S5:S" & DerniereLigne).Formula = FormuleTauxHoraireMajore

End Sub

Bonjour,

Merci pour la proposition de correction :

- Modifier : <>"" en <>"""" et 1,25 en 1.25

ces modifications n'ont pas débeugué la formule mais je me suis rendu compte que j'avais mis des ';' au lieu de ',' car en anglais, les séparateurs sont des ','

Le code suivant a fonctionné :

    'Définir la formule pour calculer le taux horaire majoré à appliquer
    FormuleTauxHoraireMajore = "=IF(H5<>"""", R5*1.25, """")"
    'Appliquer la formule pour calculer le taux horaire majoré depuis la cellule S5 à la dernière ligne
    ThisWorkbook.Worksheets("BD PAYE").Range("S5:S" & DerniereLigne).Formula = FormuleTauxHoraireMajore

Cordialement,

Rechercher des sujets similaires à "appliquer formule toute colonne"