A voir également:
- Visual Basic - Ajout de ligne si condition
- Visual basic - Télécharger - Langages
- Excel cellule couleur si condition texte - Guide
- Partage de photos en ligne - Guide
- Microsoft 365 basic - Accueil - Microsoft Office
- Visual c++ 2019 - Guide
9 réponses
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
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
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
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 ?