Répéter une valeur

Bonjour à tous

Premier message ici, merci pour votre indulgence :-)

J’ai une valeur dans une cellule (A1=100) et je cherche à afficher cette valeur (donc 100) toutes les 5 lignes dans la colonne B (donc ça donnera B1=100, B6=100, B11=100…).
Sachant que la fréquence d'affichage (dans ce cas = 5) sera une variable qu'on trouve dans la cellule C1.

Savez-vous quelle formule utiliser dans la colonne B ?

Merci d'avance et bonne journée

Emma

Bonjour,

A tester la formule suivante en B1 et à copier vers le bas :

=SI(MOD(LIGNE();$C$1)=1;$A$1;"")

Génial !

Merci bcp Raja !!!

Si je peux me permettre encore une question complémentaire : comment faire pour qu'une même valeur s'inscrive automatiquement sur x lignes ?

En clair, je souhaite afficher une valeur (A1=100) dans les lignes de la colonne B(n) autant de fois que la valeur C1=n.

Encore un grand merci pour votre aide, je suis coincé

Re,

Code à insérer dans la feuille en question :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C1")) Is Nothing Then
        Range("B1:B" & Target) = [A1]
    End If
End Sub

Merci beaucoup Raja, mais j'ai un petit souci.

Votre code fonctionne très bien quand je reste sur les cellules indiquées comme exemple (A1, B1, C1). Mais dans la réalité, la boucle ne doit pas commencer à B1 mais à R38. J'ai donc modifié le "Range" comme ceci : Range("R38:R" & Target) = [A1] mais ça ne fonctionne pas. La boucle commence à la ligne 6 !? J'ai essayé plusieurs variantes pour faire commencer à R38, mais ça ne fonctionne pas.

Encore merci !!

Re,

Teste ça :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C1")) Is Nothing Then
        Range("R38:R" & 37 + Target) = [A1]
    End If
End Sub

Merci !

Ca marche bien mais y'a un souci :) Si la valeur de C1 change (en diminuant), les cellules restent remplies :-(
Comment faire pour qu'elles s'effacent quand C1 change de valeur ?
Promis après j'arrête

Re,

Merci Raja !

Voici le fichier en question.

3progression2.xlsm (13.67 Ko)

Re,

Essaye comme ça :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C2")) Is Nothing Then
        Range("B:B").ClearContents
        Range("B5:B" & 4 + Target) = [A2]
    End If
End Sub

Il faut l'adapter si besoin est.

Bonjour,

Une autre proposition.

Cdlt.

0progression2.xlsm (14.10 Ko)
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$C$2" Then
        Range("B5:B" & Range("B" & Rows.Count).End(xlUp).Row).ClearContents
        If Not IsEmpty(Range("A2")) Then
            Range("B5").Resize(Target.Value) = Range("A2").Value
        End If
    End If
End Sub
Rechercher des sujets similaires à "repeter valeur"