Je ne trouve pas mon erreur

Bonjour, le probleme que l'ajout de la validation ne fonctionne pas, ne se passe rien de méme pour le changement couleur une ligne sur 2 ?

Sub AjouterCommande()

Dim ws As Worksheet

Set ws = ThisWorkbook.Sheets("Commandes")

Dim derniereLigne As Long

' Activer la feuille "Commandes"

ws.Activate

' Trouver la dernière ligne avec des données dans la colonne A et ajouter 1 pour la nouvelle ligne

derniereLigne = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1

' Insérer une nouvelle ligne

ws.Rows(derniereLigne).Insert Shift:=xlDown

' Ajouter la validation de données directement pour la colonne "Fait"

With ws.Cells(derniereLigne, 6).Validation

.Delete

.Add Type:=xlValidationList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="""Oui,Non"""

.IgnoreBlank = True

.InCellDropdown = True

End With

' Appliquer les bordures et l'alternance des couleurs pour la nouvelle ligne

Dim cell As Range

For Each cell In ws.Range(ws.Cells(derniereLigne, 1), ws.Cells(derniereLigne, 6))

' Bordures

cell.Borders.Weight = xlThin

' Alternance des couleurs de fond pour les lignes

If derniereLigne Mod 2 = 0 Then

cell.Interior.Color = RGB(221, 235, 247) ' Couleur pour lignes paires

Else

cell.Interior.Color = xlNone ' Transparent pour lignes impaires

End If

Next cell

End Sub

Bonjour wartar, le forum,

Un essai ?

Sub AjouterCommande()
 Dim ws As Worksheet
 Dim derniereLigne As Long
 Dim cell As Range
  Set ws = ThisWorkbook.Sheets("Commandes")

' Activer la feuille "Commandes"
   With ws
   .Activate

' Trouver la dernière ligne avec des données dans la colonne A et ajouter 1 pour la nouvelle ligne
    derniereLigne = .Range("A" & Rows.Count).End(xlUp).Row + 1

' Insérer une nouvelle ligne
 ' .Rows(derniereLigne).Insert Shift:=xlDown  'pourquoi insérer une ligne ????

' Ajouter la validation de données directement pour la colonne "Fait"
    With .Cells(derniereLigne, 6).Validation
     .Delete
     .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="Oui,Non"
     .IgnoreBlank = True
     .InCellDropdown = True
     .ShowInput = True
     .ShowError = True
    End With

    With .Range(.Cells(derniereLigne, 1), .Cells(derniereLigne, 6))
    .Borders.Weight = xlThin
    .Interior.Color = IIf(derniereLigne Mod 2 = 0, RGB(221, 235, 247), xlNone)
   End With
 End With
End Sub

Cordialement,

Rechercher des sujets similaires à "trouve pas mon erreur"