[Excel2013] Etendre une ligne sous condition.

Fermé
superneo13200 Messages postés 24 Date d'inscription samedi 2 août 2008 Statut Membre Dernière intervention 9 août 2015 - 9 août 2015 à 14:22
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 10 août 2015 à 09:29
Bonjour à tous,

Je viens vous solliciter aujourd'hui parce que j'ai besoin de votre aide.

En ce moment, je travaille sur Excel 2013 et j'aimerais faire une manipulation sur ma feuille de calcul mais je ne sais pas si cela est possible ou non.

En fait, j'ai créé un tableau qui doit être rempli au fur et à mesure. J'ai mis en forme la première ligne de mon tableau avec des validations de données. Évidement, je n'ai pas envie de faire ça sur toutes les lignes suivantes... Je sais que je peux "étendre" la mise en forme de cette ligne aux lignes suivantes, comme on peut le faire avec une formule, mais je ne veux pas non plus à avoir à le faire à chaque fois que mon tableau devient plein. J'aimerais savoir s'il existe une commande qui me permettrais d'étendre la mise en forme de la ligne précédente QUE quand je commence à écrire quelque chose dans la ligne vierge ?

Merci d'avance pour votre aide.
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
10 août 2015 à 09:29
Bonjour
Recopiez ceci dans le module de la feuille
Private Sub Worksheet_Change(ByVal Target As Range)
    DerCol = [Iv1].End(xlToLeft).Column
    If Target.Column >= DerCol Or Target.Count > 1 Or Target.Row <= 2 Then Exit Sub
    For i = 1 To DerCol
        If Cells(Target.Row, i) = Cells(Target.Row, Target.Column) Then GoTo Suivant
        If Cells(Target.Row, i) <> "" Then Exit Sub
Suivant:
    Next i
    Cells(Target.Row, Target.Column).Activate
    Range(Cells(ActiveCell.Row - 1, 1), Cells(ActiveCell.Row - 1, DerCol)).Copy
    Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, DerCol)).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, DerCol)).PasteSpecial Paste:=xlPasteValidation, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub

A adapter à votre fichier.
Cdlt
0