A voir également:
- Visual Basic - Ajout de ligne si condition
- Excel cellule couleur si condition texte - Guide
- Visual basic - Télécharger - Langages
- Microsoft 365 basic - Accueil - Microsoft Office
- Site de vente en ligne particulier - Guide
- Partage de photos en ligne - Guide
9 réponses
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
31 déc. 2009 à 14:56
31 déc. 2009 à 14:56
Sub Feuil2_Bouton1_Clic()
Sheets("Feuil1").Select
Columns("A:B").Select
Selection.Copy
Sheets("Feuil2").Select
Cells(1, 1).Select
ActiveSheet.Paste
i = 2
j = 2
Do Until i = 20
If Cells(i, 2).Value > 30 And Cells(i, 2).Value <= 60 Then
Sheets("feuil2").Select
Cells(i + 1, 1).Select
Selection.EntireRow.Insert
volume1 = Cells(i, 2).Value
Cells(i, 1).Font.Bold = True
Cells(i + 1, 1).Font.Bold = True
Cells(i + 1, 1).Value = Cells(i, 1).Value
Cells(i, 2).Value = 30
Cells(i + 1, 2).Value = volume1 - 30
End If
If Cells(i, 2).Value > 60 Then
Cells(i + 1, 1).Select
Selection.EntireRow.Insert
Selection.EntireRow.Insert
volume1 = Cells(i, 2).Value
Cells(i, 1).Font.Bold = True
Cells(i + 1, 1).Font.Bold = True
Cells(i + 2, 1).Font.Bold = True
Cells(i + 1, 1).Value = Cells(i, 1).Value
Cells(i + 2, 1).Value = Cells(i, 1).Value
Cells(i, 2).Value = 30
Cells(i + 1, 2).Value = 30
Cells(i + 2, 2).Value = volume1 - (Cells(i + 1, 2).Value + Cells(i, 2).Value)
End If
i = i + 1
Loop
End Sub
Sheets("Feuil1").Select
Columns("A:B").Select
Selection.Copy
Sheets("Feuil2").Select
Cells(1, 1).Select
ActiveSheet.Paste
i = 2
j = 2
Do Until i = 20
If Cells(i, 2).Value > 30 And Cells(i, 2).Value <= 60 Then
Sheets("feuil2").Select
Cells(i + 1, 1).Select
Selection.EntireRow.Insert
volume1 = Cells(i, 2).Value
Cells(i, 1).Font.Bold = True
Cells(i + 1, 1).Font.Bold = True
Cells(i + 1, 1).Value = Cells(i, 1).Value
Cells(i, 2).Value = 30
Cells(i + 1, 2).Value = volume1 - 30
End If
If Cells(i, 2).Value > 60 Then
Cells(i + 1, 1).Select
Selection.EntireRow.Insert
Selection.EntireRow.Insert
volume1 = Cells(i, 2).Value
Cells(i, 1).Font.Bold = True
Cells(i + 1, 1).Font.Bold = True
Cells(i + 2, 1).Font.Bold = True
Cells(i + 1, 1).Value = Cells(i, 1).Value
Cells(i + 2, 1).Value = Cells(i, 1).Value
Cells(i, 2).Value = 30
Cells(i + 1, 2).Value = 30
Cells(i + 2, 2).Value = volume1 - (Cells(i + 1, 2).Value + Cells(i, 2).Value)
End If
i = i + 1
Loop
End Sub
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
31 déc. 2009 à 13:43
31 déc. 2009 à 13:43
bonjour
je t creer un code mais il faut que ton volume soit superieur a 80 et non a 30
pour pouvoir faire 30+30+la difference
si tu prend pour exemple 80
tu met 30 en b1
tu met 30 en B2
il te reste dc 20 en c2
la ok
mais si tu as 40
tu met 30 en b1
tu met 30 en b2
tu met 0 en c2 et en plus ton voulume né plus bon!!!
voici le code
i = 2
j = 2
Do Until i = 10
If Cells(i, 2).Value > 80 Then
Cells(i + 1, 1).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
volume1 = Cells(i, 2).Value
Cells(i + 1, 1).Value = Cells(i, 1).Value
Cells(i + 2, 1).Value = Cells(i, 1).Value
Cells(i, 2).Value = 30
Cells(i + 1, 2).Value = 30
Cells(i + 2, 2).Value = volume1 - (Cells(i + 1, 2).Value + Cells(i, 2).Value)
End If
i = i + 1
Loop
je t creer un code mais il faut que ton volume soit superieur a 80 et non a 30
pour pouvoir faire 30+30+la difference
si tu prend pour exemple 80
tu met 30 en b1
tu met 30 en B2
il te reste dc 20 en c2
la ok
mais si tu as 40
tu met 30 en b1
tu met 30 en b2
tu met 0 en c2 et en plus ton voulume né plus bon!!!
voici le code
i = 2
j = 2
Do Until i = 10
If Cells(i, 2).Value > 80 Then
Cells(i + 1, 1).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
volume1 = Cells(i, 2).Value
Cells(i + 1, 1).Value = Cells(i, 1).Value
Cells(i + 2, 1).Value = Cells(i, 1).Value
Cells(i, 2).Value = 30
Cells(i + 1, 2).Value = 30
Cells(i + 2, 2).Value = volume1 - (Cells(i + 1, 2).Value + Cells(i, 2).Value)
End If
i = i + 1
Loop
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
31 déc. 2009 à 13:53
31 déc. 2009 à 13:53
tiens je l ai un peu modifier pour que ce mette en gras les ligne modifier par le programme
i = 2
j = 2
Do Until i = 10
If Cells(i, 2).Value > 80 Then
Cells(i + 1, 1).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
volume1 = Cells(i, 2).Value
Cells(i, 1).Font.Bold = True
Cells(i + 1, 1).Font.Bold = True
Cells(i + 2, 1).Font.Bold = True
Cells(i + 1, 1).Value = Cells(i, 1).Value
Cells(i + 2, 1).Value = Cells(i, 1).Value
Cells(i, 2).Value = 30
Cells(i + 1, 2).Value = 30
Cells(i + 2, 2).Value = volume1 - (Cells(i + 1, 2).Value + Cells(i, 2).Value)
End If
i = i + 1
Loop
i = 2
j = 2
Do Until i = 10
If Cells(i, 2).Value > 80 Then
Cells(i + 1, 1).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
volume1 = Cells(i, 2).Value
Cells(i, 1).Font.Bold = True
Cells(i + 1, 1).Font.Bold = True
Cells(i + 2, 1).Font.Bold = True
Cells(i + 1, 1).Value = Cells(i, 1).Value
Cells(i + 2, 1).Value = Cells(i, 1).Value
Cells(i, 2).Value = 30
Cells(i + 1, 2).Value = 30
Cells(i + 2, 2).Value = volume1 - (Cells(i + 1, 2).Value + Cells(i, 2).Value)
End If
i = i + 1
Loop
Merci mais je comprend pas vraiment ton code et surtout son résultat:
Je reformule mon pb :
J'ai actuellement dans la Feuille 1 :
A1 : X ¤ B1 : 80
A2 : Y ¤ B2 : 15
......
Je voudrais faire une macro pour avoir en résultat en Feuille 2 :
A1 : X ¤ B1 : 30
A2 : X ¤ B2 : 30
A3 : X ¤ B3 : 20
A4 : Y ¤ B4 : 15
....
En gros le client X me demande 80 pallettes, on n'en livre que 30 par camions
donc il faut faire 3 camions d'où détaillé la commande sur 3 lignes dans ce cas si.
J'esperes que c'est plus clair
Merci d'avance
Je reformule mon pb :
J'ai actuellement dans la Feuille 1 :
A1 : X ¤ B1 : 80
A2 : Y ¤ B2 : 15
......
Je voudrais faire une macro pour avoir en résultat en Feuille 2 :
A1 : X ¤ B1 : 30
A2 : X ¤ B2 : 30
A3 : X ¤ B3 : 20
A4 : Y ¤ B4 : 15
....
En gros le client X me demande 80 pallettes, on n'en livre que 30 par camions
donc il faut faire 3 camions d'où détaillé la commande sur 3 lignes dans ce cas si.
J'esperes que c'est plus clair
Merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
31 déc. 2009 à 14:06
31 déc. 2009 à 14:06
le code que je t donné fais ce que tu demande sauf que c la feuille qui est modifié tu ne m'avais pas dis que c t sur une autre feuille
je vais modifié le code!!!
petite question c tjs 30 le max ?
je vais modifié le code!!!
petite question c tjs 30 le max ?
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
31 déc. 2009 à 14:52
31 déc. 2009 à 14:52
ok g bientot fini