Code excell - débutante

Fermé
Sophiedgx - 17 mars 2021 à 14:52
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 17 mars 2021 à 17:05
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
17 mars 2021 à 15:50
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 mercredi 17 mars 2021 Statut Membre Dernière intervention 17 mars 2021
17 mars 2021 à 16:16
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
17 mars 2021 à 17:05
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