Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Copier N fois une valeur V dans une colonne donnée

anthony.unac

XLDnaute Occasionnel
Bonjour,

Le but est de copier N fois une valeur V dans une colonne donnée.
Soit une colonne A composée de mettons 10 valeurs (de A1 à A10)
Soit une colonne B composée de 10 valeurs également (de B1 à B10)
Dans la colonne C, est il possible de coller la valeur A1 (B1 fois c'est à dire que C1=A1, C2=A1, C3=A1 etc ... jusqu'à C_B1=A1). Juste en dessous de cette dernière cellule coller la valeur A2 (B2 fois c'est à dire C_B1+1=A2, C_B1+2=A2, C_B1+3=A2 etc ... jusqu'à C_B1+B2=A2) et ainsi de suite pour former une colonne C remplie d'occurences.

Cordialement
Anthony CANU
 

job75

XLDnaute Barbatruc
Re,

Le fichier en retour avec la macro adaptée :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim t, a$, resu(), i&, j&, x, k&, n&
Application.EnableEvents = False 'désactive les évènements
With Range("A1", UsedRange)
    t = .Columns(2).Resize(, 4) 'matrice, plus rapise
    a = .Columns(5).Address
    ReDim resu(1 To Evaluate("SUM(IF(ISNUMBER(" & a & "),INT(" & a & ")))"), 1 To 1)
    For i = 6 To UBound(t)
        j = Int(Val(t(i, 4)))
        x = t(i, 1)
        For k = 1 To j
            n = n + 1
            resu(n, 1) = x
    Next k, i
    If n Then
        .Cells(6, 7).Resize(n) = resu 'restitution
        .Cells(6, 7).Resize(n).Interior.ColorIndex = 36 'jaune
    End If
    .Cells(n + 6, 7).Resize(Rows.Count - n - 5).ClearContents 'RAZ en dessous
    .Cells(n + 6, 7).Resize(Rows.Count - n - 5).Interior.ColorIndex = 2 'blanc
End With
With UsedRange: End With 'actualise la barre de défilement verticale
Application.EnableEvents = True 'réactive les évènements
End Sub
A+
 

Pièces jointes

  • Estimateur de Grandeurs (macro).xlsm
    145.7 KB · Affichages: 22

anthony.unac

XLDnaute Occasionnel
Merci Job75 pour les modifs tu as su rendre le truc fonctionnel
NB : Concernant cette ligne de code : .Cells(6, 7).Resize(n).Interior.ColorIndex = 36 'jaune
Tu es passé de 6 'jaune à 36 'jaune
Ne me dis pas que tu t'es adapté à la teinte de jaune du fichier que je t 'ai envoyé ?!
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…