Code excell - débutante

Sophiedgx -  
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   -
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 :)
A voir également:

3 réponses

Utilisateur anonyme
 
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
Sophiedgx Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
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
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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