Comment dédoubler les lignes en fonction de la valeur d'une cellule dans excel?

Fermé
Delphine - 23 nov. 2018 à 16:01
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 - 31 déc. 2018 à 18:29
Bonjour,
Je chercher à dédoubler les lignes en fonction de la valeur d'une cellule dans excel.
Je ne m'y connais absolument pas en programmation. Y a-t-il une petite formule magique?

Si j'ai :
dans la colonne A : auto
dans la colonne E: 3

Je veux dans la même feuille dans la colonne A :
Ligne 1 : Auto
Ligne 2 : Auto
Ligne 3 : Auto

Mes valeurs vont de 1 à 27 dans la colonne E

La question a été posée en août 2013 sur le forum avec ceci comme réponse: http://cjoint.com/?CHpwQLY01vO

Je ne parviens pas à l'ouvrir...

Merci pour votre aide,

Delphine

Configuration: Windows / Firefox 63.0
A voir également:

5 réponses

titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
23 nov. 2018 à 16:18
Bonjour Delphine,

De quelle ligne parles tu dans tu dis :
Si j'ai :
dans la colonne A : auto
dans la colonne E: 3

Si j'ai bien compris tu souhaiterais ajouter autant de lignes (en dessus ou en dessous de ta ligne) que le nombre saisie en colonne E sur ta ligne de référence est-ce bien cela?

A bientot

Jc
0
Bonsoir Jc,

Un grand merci pour ta réactivité.

A part les ligne ou un 1 se trouve dans la colonne E, toutes les lignes vont devoir être dédoublées si c'est un 2 dans la colonne E ou multipliées par 3 si c'est un 3 dans la colonne E.

Ca commence à la ligne 2, la ligne 1 étant une ligne d'en têtes.

Pour répondre à ta question :"Si j'ai bien compris tu souhaiterais ajouter autant de lignes (en dessus ou en dessous de ta ligne) que le nombre saisie en colonne E sur ta ligne de référence est-ce bien cela?".

Je souhaite effectivement ajouter autant de ligne en dessous de ma ligne de référence que le nombre saisie en colonne E de cette même ligne.
Sachant que mon se compose de 484 lignes.

Merci beaucoup pour ton aide!

Delphine
0
Bonjour Jc,

Est-ce qu'avec les nouveaux éléments, vous pensez que mon problème est solutionnable?

Merci
0
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
Modifié le 27 nov. 2018 à 13:42
Oui ça devrait pouvoir se faire, une petite précision cependant.
Si un ligne 2 en colonne E j'ai 2
faut-il ajouter 2 lignes (soit en ligne 3 et 4) ou juste 1?
La première ligne est-elle compter dans la somme ou non?
Merci
0
Oh super, j'ai beaucoup d'admiration pour vous.
C'est tellement frustrant d'être handicapée du clavier que je vous suis très reconnaissante.
Il faut que le total de ligne fasse le n° en colonne E.

Si en ligne 2 en colonne E vous avez 2
Il faut ajouter 1 seule ligne, soit la ligne 3 pour arriver au total de 2
La première ligne est bien comptée dans la somme.

Merci!
0
Petite précision, dans la colonne E, on ne s'arrête pas à 3, ça va jusqu'à 27 ;-)
Ce n'est pas pas ordre croissant.

Merci
0
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
27 nov. 2018 à 15:57
Re,

Voici une proposition :
https://www.cjoint.com/c/HKBo4lnuG7M

Bonne fin de journée

Jc
0
Bonjour Jc,
Je reçois un message qui me dit qu'il est impossible d'ouvrir le fichier.
J'ai fait un print screen mais n'étant pas "membre" je ne peux pas vous le poster.
Le message dit que le format ou le fichier n'est pas valide :-(
0
Peut-être que ça irait mieux en me l'envoyant sous un autre format via mon mail? ***@***
Je ne sais pas ce que vous en pensez...
0
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
28 nov. 2018 à 09:34
Bonjour Delphine,

Nouveau lien :
https://www.cjoint.com/c/HKCiF0dkPxD

A enregistrer avant d'ouvrir et controler que l'extension du fichier est bien .xlsm (sinon le modifier manuellement avant de l'ouvrir). A l'ouverture tu risques d'avoir une alerte de sécurité étant donné que le fichier contient un programme clique sur "activer".

A bientot

Jc
0
Super, j'ai réussi à ouvrir le document!
Pour la suite, comment dois-je procéder?
Je pars de mon document existant ou je pars du vôtre?
Merci!
0
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
29 nov. 2018 à 16:46
Alors dans l'idée tu pars de mon fichier pour en copier le code puis tu le colle dans un module de l'interface VBA de ton fichier.

Pour ce faire, tout d'abord, as-tu l'onglet "développeur" affiché dans ton ruban Excel, si tel n'est pas le cas voici la procédure a suivre pour l'afficher :
Cliquez sur l'onglet Fichier.
Cliquez sur Options.
Cliquez sur Personnaliser le ruban.
Sous Personnaliser le ruban et Onglets principaux, activez la case à cocher Développeur.

Ensuite, sur mon fichier :
- "Alt +F11" pour accéder à l'interface VBA
- double clic sur "module 1" pour l'ouvrir
- sélectionnes et copies tout le code qui se trouve dans la fenêtre "module 1"

Dans ton fichier :
- Enregistre-sous ton fichier au format ".xlsm (prenant en charge les macros)"
- "Alt + F11" pour accéder à l'interface VBA
- "Insertion" > "Module" > cliques dans la fenetre qui s'est ouverte puis "ctrl + v" pour coller le code copier plus tôt

Voilà la macro est a présent utilisable dans ton fichier. Pour créer un bouton d'execution de macro sur ta feuille Excel comme dans le fichier exemple que je t'ai envoyé alors :
- onglet "Développeur" > "Insérer" > dans la partie "controle de formulaire" clique sur "bouton (contrôle de formulaire)"
- cliques sur ta feuille Excel à l'endroit ou tu souhaites ajouter ton bouton (de préférence en face des titres car si tu le met en face de ligne qui pourraient potentiellement être supprimées par la macro ton bouton ne sera plus visible)
- dans la fenêtre "affectation de macros" double-clique sur "maj"
Ta macro est paramétré sur ton bouton et s’exécutera à chaque clic, tu peux renommer ton bouton si tu le souhaites avec un clic-droit > "modifier le texte".

Voilà, en espérant qu'avec ces informations tu parviennes à ajouter la macro sur ton fichier sans trop de difficulté

Jc
0
Bonsoir Jc,
C'est frustrant, l'explication est très claires et toutes les étapes semblent avoir fonctionné mais le résultat n'est pas là...
De façon aléatoire, il y a une ligne par marque qui s'est créée mais seulement avec le contenu de la colonne A, juste le nom de la marque. La ligne entière n'a pas été dédoublée.

J'espère qu'avec ces info tu pourras comprendre. Je suis désolée de t'ennuyer sachant tout le travail déjà effectué si gentiment.

Bonne soirée,

Delphine
0
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
2 déc. 2018 à 10:32
Bonjour Delphine,

"De façon aléatoire"? C'est à dire? Toutes tes lignes ne sont pas dédoublées le nombre de fois requis en E ? Pour les infos reportées c'est normal, c'est ainsi que j'avais programmé la macro car j'imaginais que tu souhaitais ajouter de nouvelles info sur les autres colonnes vu que tu n'en parlais pas dans ton ennoncé et surtout je voyais pas trop où était ton intérêt d'avoir 27 fois la ligne identique en fait... mais si c'est ce que tu souhaites alors pas de souci ça peut ce modifier assez facilement donc dis moi si tu souhaites copier toutes les colonnes de ta ligne de base ou seulement certaines...

Pour que tu comprenne un peu mieux le fonctionnement de la macro, je l'ai paramétré pour qu'elle analyse chacune des lignes de ton tableau et que lorsque le chiffre en colonne E est supérieure à 1 elle compte le nombre de lignes suivantes ou les valeurs dans la colonne A et est égale à celle de ta ligne de base, puis si le nombre de lignes requis n'est pas atteint elle ajoute celles qui manquent pour arriver au nombre souhaité.

Si ce n'est pas ce que tu souhaitais, ou pas ce qui s'est passé sur ton fichier n'hésite pas à m'en dire un peu plus afin que je puisse modifier ou adapter le code en fonction de tes besoins.

Bonne dimanche,

Jc
0
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
Modifié le 2 déc. 2018 à 11:47
Remplace le code dans le module de ton fichier par celui-ci et fait un autre essai, cette fois ça effectuera une copie de la ligne entière...

Option Explicit
Sub maj()
Dim i, j, k, n, der As Long
Dim cpte, dif, nbr As Integer
Dim nom As String
der = Range("A65536").End(xlUp).Row
For n = 2 To der
    For i = 2 To der
        If Range("E" & i) > 1 Then
        cpte = 0
        nbr = Range("E" & i).Value
        nom = Range("A" & i).Value
            Do While Range("A" & i).Offset(cpte, 0) = nom
            Range("E" & i).Offset(cpte, 0) = Range("E" & i).Value
            cpte = cpte + 1
            Loop
            i = i + cpte - 1
                If cpte < nbr Then
                dif = nbr - cpte
                    Do While dif > 0
                    Rows(i + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
                    Rows(i).Copy Rows(i + 1)
                    Application.CutCopyMode = False
                    i = i + 1
                    dif = dif - 1
                    der = der + 1
                    Loop
                End If
        End If
    Next i
Next n
End Sub


Jc
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
9 déc. 2018 à 10:14
Bonjour Delphine,

Pas de réponse...?! Est-ce que le dernier code t'a donné satisfaction...?!?!?
0
Bonjour JC,
Je m'étais fendue d'un long message de remerciement en route entre 2 aéroports mais en recevant le vôtre, j'ai compris qu'il n'était jamais parti. Désolée pour le délai et pour la déception. Ce n'est pas faute d'avoir pensé à vous. Je reprends donc mon clavier pour vous remercier pour tout votre travail, pour votre générosité et votre patience. C'est vraiment très gentil à vous. Ca a marché! Je profite de l'occasion du 31 décembre pour vous souhaiter un très bon réveillon et une merveilleuse année 2019!

Encore 1000 mercis!
0
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
31 déc. 2018 à 18:29
Bonjour Delphine,

Merci pour ton retour et pour tes vœux! Ravi que ton problème soit résolu. À mon tour je te souhaite un très beau réveillon et tout plein de bonnes choses pour 2019!

Jc
0