rajouter des lignes en fonction d'une variable

ekylybryum

XLDnaute Nouveau
bonjour tous le monde, étant nouveau sur ce forum :eek:, et donc comme tout les nouveaux, je viens en quête d'une aide qui me serais précieuse:eek: sur comment ajouter une ou des lignes supplémentaires en fonction d'un chiffre variable;
c.a.d. : j'ai une série de chiffre dans ma colonne A (pouvant aller de 0 a l'infini) lorsque ce chiffre est différent de zéro, comment faire pour ajouter un nombre de lignes en dessous de ce chiffre équivalant a ce chiffre?
exemple de série de la colonne: 1;7;0;0;0;0;0;1;0;0;0;3;0;0;1;0;1
donc dans cet exemple
rajouter 1 ligne en dessous de la valeur 1
rajouter 7 lignes en dessous de la valeur 7
rajouter 0 ligne en dessous de la valeur 0
etc...... :confused:
je remercie d'avance ceux qui porterons attention a mon problème, merci beaucoups :eek:
 

DoubleZero

XLDnaute Barbatruc
Re : rajouter des lignes en fonction d'une variable

Bonjour à toutes et à tous,

Bienvenue sur XLD, ekylybryum !

Un essai en pièce jointe.

A bientôt :)
 

Pièces jointes

  • 00 - ekylybryum - Lignes insérer.xlsm
    17.5 KB · Affichages: 61
  • 00 - ekylybryum - Lignes insérer.xls
    36 KB · Affichages: 41
Dernière édition:

ekylybryum

XLDnaute Nouveau
Re : rajouter des lignes en fonction d'une variable

Bonjour à toutes et à tous,

Bienvenue sur XLD, ekylybryum !

Un essai en pièce jointe.

A bientôt :)

coucou, merci pour ta réponse, cela fonctionne:)
mais ça fais deux heures que j'essaie avec un ami, de le faire fonctionner sur ma série de données(qui est longue + 300000 lignes :!) avec aucun succès
on arrive a le faire fonctionner sur ton fichier avec quelques lignes mais des qu'on met du volume sa bug:confused:
ci joint mon fichier pour voir si tu pourrais tester cela toi meme et merci encore pour ton altruisme:eek:

oups 300000 c un peu gros:p je t'envoie ce que je peux merci
 

Pièces jointes

  • historique excel .xlsx
    264.7 KB · Affichages: 47

DoubleZero

XLDnaute Barbatruc
Re : rajouter des lignes en fonction d'une variable

Bonjour, ekylybryum, le Forum,

...on arrive a le faire fonctionner sur ton fichier avec quelques lignes mais des qu'on met du volume sa bug:confused:...

D'où la nécessité de joindre un fichier exemple lorsqu'une question est posée :) !

Voici la macro adaptée, cette fois, au fichier de travail.

Bon courage et à bientôt :)
 

Pièces jointes

  • 00 - ekylybryum - Lignes insérer V2.zip
    253.2 KB · Affichages: 35

job75

XLDnaute Barbatruc
Re : rajouter des lignes en fonction d'une variable

Bonjour ekylybryum, bonjour chère ânesse :)

Voici une solution qui utilise des tableaux VBA :

Code:
Sub Insertion()
Dim t, lig&, restit(), n&, col As Byte
t = Range("A1:G" & [A65000].End(xlUp).Row)
lig = Application.SumIf([A:A], ">0", [A:A]) 'nb lignes à insérer
ReDim restit(1 To UBound(t) + lig, 1 To 7)
For lig = 1 To UBound(t)
  n = n + 1
  For col = 1 To 7
    restit(n, col) = t(lig, col)
  Next
  If Val(t(lig, 1)) > 0 Then n = n + Int(Val(t(lig, 1)))
Next
[A1:G1].Resize(UBound(restit)) = restit
End Sub
Elle fonctionne même s'il y a du texte ou des valeurs négatives en colonne A.

L'exécution est rapide car aucune ligne n'est en fait insérée.

Fichier joint où j'utilise la petite souris de 00 qui me plaît beaucoup :)

A+
 

Pièces jointes

  • Insertion(1).zip
    249 KB · Affichages: 31

ekylybryum

XLDnaute Nouveau
Re : rajouter des lignes en fonction d'une variable

merci job75 , cool je vais voir cela:rolleyes:
pour dire a double zéro merci beaucoup cela marche nickel:):rolleyes::D merci:eek: et surement a plus car j'aurais certainement besoin de refaire appel a vous....si c pas abusé arigatou na:)
 

job75

XLDnaute Barbatruc
Re : rajouter des lignes en fonction d'une variable

Bonjour ekylybryum, DoubleZero, le forum,

Petit détail, avec 300000 lignes on est sur Excel 2007 ou 2010 donc utiliser :

Code:
t = Range("A1:G" & Cells(Rows.Count, 1).End(xlUp).Row)
Fichier (2).

A+
 

Pièces jointes

  • Insertion(2).zip
    249.7 KB · Affichages: 34

Discussions similaires

Réponses
7
Affichages
367

Statistiques des forums

Discussions
312 300
Messages
2 087 008
Membres
103 429
dernier inscrit
PhilippeH