Code excell - débutante

Bonjour,

Jeune débutante sur Excell, besoin de votre aide !

Sur une feuille Excell, j'ai deux colonnes. La première (de A1 à A83) contient des nombres (un âge de 18 à 100 ans), la deuxième colonne (de B1 à B83) contient le nombre de fois que revient cet âge dans ma population. Je voudrais créer, à coté, une colonne qui reprend les tous les âges les uns après les autres.

Exemple, si :
A1 B1
18 0
19 0
20 0
21 5
22 11
(etc)

Alors je voudrais que ma colonne ressemble à :
21
21
21
21
21
11
11
11
11
(etc avec 22x11 au total)

Désolée si j'ai du mal à expliquer et à me faire comprendre... Avez-vous un code pour cela ?

Merci, Sophie :)

3 réponses

  1. Un toute logique, on peut présumer que les "21" de la colonne "C" devront êtres alignés avec les "21" de la colonne "A" (ce qui n'est pas ton exemple), sinon, ça n'aurait aucun sens; et ce qui revient à dupliquer la colonne "B".
    Il faudrait clarifier ta demande.
    0
    1. Bonjour, je vous mets une image pour comprendre..

      Si 5 personnes ont 21 ans, je voudrais que le nombre 21 se retrouve dans 5 cellules à la suite. Ensuite, si 11 personnes ont 22 ans, je voudrais qu'à la suite des 21 se trouve le nombre 22, 11x d'affillée dans 11 cellules différentes, etc...
      0
      1. Contributeur
        Bonjour,

        Faire Alt F11 sur la feuille concernée pour accéder à l'éditeur.

        La macro se déclenchera au double clic dans la colonne B

        mettre ce code:

        Option Explicit
        Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then
         Dim i As Integer
         Dim DerniereLigneUtilisee As Long
         DerniereLigneUtilisee = Range("C" & Rows.Count).End(xlUp).Row
         If Target.Value = 0 Then Exit Sub
         For i = 0 To Target.Value
        Range("C" & DerniereLigneUtilisee + i) = Range("A" & Target.Row)
        Next i
        End If
        End Sub
        
        


        Voilà

        0