Bonjour,
voilà mon problème :
j’ai une base de données avec des adresses et des quantités. Je dois en fonction de ces quantités dupliquer une ou plusieurs fois certaines lignes.
Là où ça se corse un peu c’est que je dois avoir dans les nouvelles lignes la différence par rapport à un maxi.
Ex ligne 1 155 Ex : je dois me retrouver avec trois lignes 1 50 Ex; 2 50 Ex; 3 55 Ex voilà j’espère avoir été clair et que quelqu’un pourra m’aider sinon faudra que je traite ligne par ligne.
d’avance merci pour votre aide.
mets un fichier exemple en ligne avec http://www.cjoint.com/ par exemple, ce sera plus clair (et plus facile) !
ok je ferai ça demain car c’est pour le taf et là j’ai rien.
Edité le 10/08/2009 à 22:10
En fait, je crois comprendre ce qu’il veut :
Il a :
A1 = 155
et il veut transformer cela, automatiquement, en :
A1 : 50
A2 : 50
A3 : 55
C’est cela que tu veux ???
Il faut probablement passer par une macro, mais je ne suis pas assez compétent pour t’aider…
Salut,
Nostradamus, c’est exactement ça sauf que je me suis planté A = 50 maxi
mais sinon c’est tout à fait ça A1= 50 A2=50 A3=50 A4=5
voilà si vous savez comment faire ça purée c’est trop fort !!
voilà le fichier (j’ai enlevé les adresses car c’est des données clients)
cjoint.com…
@+
Edité le 11/08/2009 à 11:16
Ça ne va pas si on dit que 165, c’est 3 x 50 + 1 x 15 ?
Il faut que ce soit ecrit 50 50 50 15
oui voilà c’est pour des expéditions en colis et il faut autant de lignes que de colis avec maxi 50 par colis
Ce que veut dire djidji , c’est au lieu de 4 lignes :
50
50
50
15
c’est une ligne avec quelque chose dans le genre :
3 x 50 + 1 x 15
oui oui j’avais bien compris mais non il me baut ds ce cas là 4 lignes
Je reviens a la charge !
et avec 4 colonnes ?
165 50 50 50 15
Je vais réexpliquer le problème :
j’ai une colonne qté et une colonne colis
sur une ligne qté = 65 colis = 2
à transformer en :
ligne 1 : qté 50 col 1
ligne2 : qté 15 col 1
Je pensais pourtant que c’était clair
Chuis sur que ça doit être tout c… bête à faire mais voilà c’est la création de ligne qui me pose problème.
C’est peut-être faisable en le programmant. Mais je ne sais pas faire.
Ce serait plus simple d’avoir les 4 colonnes sur la même ligne…
Tu peux t'inspirer de ça : [www.excel-downloads.com...](http://www.excel-downloads.com/forum/12707-ev-nement-ajout-ligne-automatique.html)
Tu peux essayer cette macro, elle n’est peut-être pas très jolie mais semble fonctionner, du moins si j’ai bien compris ce que tu veux obtenir comme résultat.
Sub calcul()
Dim Ligne As Long
Dim Qte As Integer
Dim Reste As Integer
Dim Colis As Integer
Ligne = 2
Do While Cells(Ligne, 1) <> 0
Qte = Cells(Ligne, 1)
If Qte > 50 Then
Cells(Ligne, 1) = 50
Colis = Int(Qte / 50)
Do While Colis > 1
Rows(Ligne).Select
Selection.Copy
Selection.Insert Shift:=xlDown
Cells(Ligne, 1) = 50
Ligne = Ligne + 1
Colis = Colis - 1
Loop
Reste = Qte Mod 50
If Reste <> 0 Then
Rows(Ligne).Select
Selection.Copy
Selection.Insert Shift:=xlDown
Ligne = Ligne + 1
Cells(Ligne, 1) = Reste
End If
End If
Ligne = Ligne + 1
Loop
Cells(1, 1).Select
End Sub
wouaou
je vais esayer ça et je te dis quoi !
merci en tout cas même si ça devait ne pas fonctionner !
Espérons que ça fonctionnera quand même.
Tu peux créer un bouton sur ta feuille de calcul et lui associer la macro.
Il suffira alors de cliquer sur le bouton pour la lancer.
La macro peut être lancée plusieurs fois sans problème : si elle n’a rien a faire parce qu’elle a déjà été lancée au moins une fois, alors elle ne fait rien mais ne crée pas d’erreur.