XL 2019 Passage à la ligne automatiquement

valouf

XLDnaute Junior
Bonjour debutant sur visual basic j'aimerais avoir un code vba pour passer à la ligne automatiquement merci d'avance
 

Pièces jointes

  • Edition bon de commande.xlsm
    90.1 KB · Affichages: 11

GALOUGALOU

XLDnaute Accro
bonsoir le forum
re valouf
le titre de votre fil ainsi que votre demande diverge de votre problématique dans le classeur.

en réponse des questions du classeur je vous propose ces macros qui seront exécutées sur le clic image.
(activer les macros pour ce classeur)
VB:
Sub viande()
Dim ligne As Byte
ligne = 4
With Sheets("edition ticket de caisse")
If .Cells(ligne, 4) <> "" Then ligne = .Range("D" & .Rows.Count).End(xlUp).Row + 1
.Cells(ligne, 4) = "Viande"
End With
MsgBox "Produit ajouté"
End Sub

Sub pâtes()
Dim ligne As Byte
ligne = 4
With Sheets("edition ticket de caisse")
If .Cells(ligne, 4) <> "" Then ligne = .Range("D" & .Rows.Count).End(xlUp).Row + 1
.Cells(ligne, 4) = "Pâtes"
End With
MsgBox "Produit ajouté"
End Sub
Sub salade()
Dim ligne As Byte
ligne = 4
With Sheets("edition ticket de caisse")
If .Cells(ligne, 4) <> "" Then ligne = .Range("D" & .Rows.Count).End(xlUp).Row + 1
.Cells(ligne, 4) = "salade"
End With
MsgBox "Produit ajouté"
End Sub
Sub effacer()
With Sheets("edition ticket de caisse")
.Range("D4:D20").ClearContents
End With
MsgBox "effacement terminé"
End Sub

vous pouvez dupliquer les macros en associant chaque nouvelle image à une nouvelle macro.

Pas dans le titre, mais dans macros, vous pouvez définir les noms (viandes, pâtes, salade, comme vous le souhaitez.
cdt
galouglaou
 

Pièces jointes

  • Copie de Edition bon de commande.xlsm
    96.7 KB · Affichages: 6

valouf

XLDnaute Junior
bonsoir le forum
re valouf
le titre de votre fil ainsi que votre demande diverge de votre problématique dans le classeur.

en réponse des questions du classeur je vous propose ces macros qui seront exécutées sur le clic image.
(activer les macros pour ce classeur)
VB:
Sub viande()
Dim ligne As Byte
ligne = 4
With Sheets("edition ticket de caisse")
If .Cells(ligne, 4) <> "" Then ligne = .Range("D" & .Rows.Count).End(xlUp).Row + 1
.Cells(ligne, 4) = "Viande"
End With
MsgBox "Produit ajouté"
End Sub

Sub pâtes()
Dim ligne As Byte
ligne = 4
With Sheets("edition ticket de caisse")
If .Cells(ligne, 4) <> "" Then ligne = .Range("D" & .Rows.Count).End(xlUp).Row + 1
.Cells(ligne, 4) = "Pâtes"
End With
MsgBox "Produit ajouté"
End Sub
Sub salade()
Dim ligne As Byte
ligne = 4
With Sheets("edition ticket de caisse")
If .Cells(ligne, 4) <> "" Then ligne = .Range("D" & .Rows.Count).End(xlUp).Row + 1
.Cells(ligne, 4) = "salade"
End With
MsgBox "Produit ajouté"
End Sub
Sub effacer()
With Sheets("edition ticket de caisse")
.Range("D4:D20").ClearContents
End With
MsgBox "effacement terminé"
End Sub

vous pouvez dupliquer les macros en associant chaque nouvelle image à une nouvelle macro.

Pas dans le titre, mais dans macros, vous pouvez définir les noms (viandes, pâtes, salade, comme vous le souhaitez.
cdt
galouglaou
BEN ecoutez je suis super content je vous remercie bcp je vais pouvoir faire mon application encore merci
 

job75

XLDnaute Barbatruc
Bonsoir valouf, Phil69970, GALOUGALOU;

Je sais bien que plus c'est long plus c'est bon mais quand même :
VB:
Sub Image_Click()
Dim a
a = [{"Image 2","Pâtes";"Image 4","Viande";"Image 6","Salade"}] 'matrice 3 lignes x 2 colonnes
With Sheets("edition ticket de caisse")
    .Visible = xlSheetVisible 'si la feuille est masquée
    .Range("D2:D" & .Rows.Count).Find("", , xlValues) = Application.VLookup(Application.Caller, a, 2, 0)
    .Activate 'facultatif
End With
End Sub
A+
 

Pièces jointes

  • Edition bon de commande(1).xlsm
    95.4 KB · Affichages: 8

Discussions similaires

Réponses
3
Affichages
224
Réponses
2
Affichages
192

Statistiques des forums

Discussions
312 109
Messages
2 085 381
Membres
102 876
dernier inscrit
BouteilleMan