Insertion ligne avec une formule NB.SI

Résolu/Fermé
DridriR Messages postés 2 Date d'inscription mardi 6 octobre 2015 Statut Membre Dernière intervention 18 octobre 2015 - 6 oct. 2015 à 19:36
DridriR Messages postés 2 Date d'inscription mardi 6 octobre 2015 Statut Membre Dernière intervention 18 octobre 2015 - 18 oct. 2015 à 21:51
Bonsoir à tous,

Voici mon problème j'aimerais faire une insertion de ligne entre chaque valeur différente de la colonne A. Puis dans la même macro utiliser la formule NB.SI dans la ligne nouvelle insérée de la colonne D à J suivant la condition si weekend prendre le montant de la prime 30€(cellule "O4") ou jour de la semaine 20€ (cellule "O3").



Exemple :

Faire une insertion de ligne entre Ajose Michael et Akers Chris puis en D7(ligne nouvelle créée) faire :
=NB.SI(F$2:F$6;"YES")*$O$3

Puis passer à la valeur suivante : Akers,Chris et Banwait, Bajinder etc ...

Le plus important est de le faire en boucle jusqu'à la fin de nos données ligne 298. Nous n'arrivons pas à à intégrer la fonction NB.SI dans cette macro ci :

Sub SAUTDELIGNE()
'
' SAUTDELIGNE Macro
'
Dim cellule As Variant

'se positionne au bas de la colonne et remonte
For i = Range("a65536").End(xlUp).Row To 2 Step -1

'selectionne la ligne lors du changement de valeur et ajoute une ligne en dessous
If Cells(i, 1).Value <> Cells(i + 1, 1).Value Then Rows(i + 1).EntireRow.Insert Shift:=x1Down

Next i

End Sub




Merci beaucoup pour votre aide,
Merci de votre compréhension je ne suis pas expert en la matière ...
En espérant avoir été suffisamment clair ...
A voir également:

1 réponse

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
7 oct. 2015 à 08:08
Bonjour
Essayez ceci
Option Compare Text

Sub SAUTDELIGNE()
    Application.ScreenUpdating = False
    ' SAUTDELIGNE Macro
    Dim cellule As Variant
    'se positionne au bas de la colonne et remonte
    For i = Range("a65536").End(xlUp).Row To 2 Step -1
    'selectionne la ligne lors du changement de valeur et ajoute une ligne en dessous
        If Cells(i, 1).Value <> Cells(i + 1, 1).Value Then Rows(i + 1).EntireRow.Insert Shift:=x1Down
    Next i
    
    [A2].Select
    Derlig = Range("a65536").End(xlUp).Row
    Cpt = 0
    For i = 2 To Derlig + 1
        If Cells(i, 1) <> "" Then
            Cpt = Cpt + 1
            GoTo Suivant
        End If
        Formule = "=COUNTIF(R[-" & Cpt & "]C[2]:R[-1]C[2],""yes"")*R3C15"
        Cells(i, 4).FormulaR1C1 = Formule
        Cpt = 0
Suivant:
    Next i
End Sub

Cdlt
1
DridriR Messages postés 2 Date d'inscription mardi 6 octobre 2015 Statut Membre Dernière intervention 18 octobre 2015
18 oct. 2015 à 21:51
Bonsoir Frenchie83,

Merci beaucoup pour votre aide.
C'est exactement ça !
0