VBA sur excel

Résolu
Arkonide Messages postés 28 Date d'inscription   Statut Membre Dernière intervention   -  
Arkonide Messages postés 28 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai sur excel 2 feuilles.

1ere feuille :
une liste de 100 produits avec
dans la colonne A un chiffre code
dans le colonne B texte designation
dans la colonne C un prix

2eme feuille :
des boutons avec le nom du produit
en appuyant sur un bouton une question :" combien ?" après la réponse, le resultat s'affiche dans une espece de facture : 1) quantite, 2) designation, 3) prix, le tout s'incrementant d'une ligne à chaque appuit sur un bouton.

Voici la macro :

Public Sub addition()
Dim valeur As String
Dim l As Integer
nombre = Application.InputBox("Combien ? :", Type:=1)
If nombre = False Then Exit Sub
l = Sheets("articles").Range("c500").End(xlUp).Row + 1
valeur = ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text

For Each c In Sheets("CODE").Range("b3:b" & Sheets("code").Range("b500").End(xlUp).Row)

If c.Value = valeur Then

With Sheets("articles")

.Range("b" & l).Value = nombre
.Range("c" & l).Value = c.Value
.Range("d" & l).Value = c.Offset(0, 1).Value

End With
End If
Next c

End Sub


QUESTIONS :
1er) pourquoi l'affichage commence-t-il toujours en B11 comment faire pour qu'il commence en G1 par exemple

2eme) je voudrais un deuxieme prix
j'ai ajouté une colonne de prix sur la feuille 1 et transformé ainsi ma macro

Public Sub addition()
Dim valeur As String
Dim l As Integer
nombre = Application.InputBox("Combien ? :", Type:=1)
If nombre = False Then Exit Sub
l = Sheets("articles").Range("c500").End(xlUp).Row + 1
valeur = ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text

For Each c In Sheets("CODE").Range("b3:b" & Sheets("code").Range("b500").End(xlUp).Row)

If c.Value = valeur Then

With Sheets("articles")

.Range("a" & 1).Value = c.Offset(0, -1).Value
.Range("b" & l).Value = nombre
.Range("c" & l).Value = c.Value
.Range("d" & l).Value = c.Offset(0, 1).Value

End With
End If
Next c

End Sub

le nouveau prix s'affiche en A1 et ne s'incremante pas
le reste fonctionne comme d'habitude.
Comment faire pour que le nouveau prix s'affiche en A11 ?

j'attends vos réponses avec impatience.
D'avance merci

1 réponse

thev Messages postés 1986 Date d'inscription   Statut Membre Dernière intervention   713
 
1) pour commencer en G1

With Sheets("articles")

.Range("g1").columns(1).rows(c.row-2).Value = nombre
.Range("g1").columns(2).rows(c.row-2).Value = c.Value
.Range("g1").columns(3).rows(c.row-2)..Value = c.Offset(0, 1).Value

End With

2) remplacer 1 par I

.Range("a" & I).Value = c.Offset(0, -1).Value
0
Arkonide Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
Un grand merci a toi.
Erreur due a moi en premier et a mon ecran en 2eme, j'ai failli pas voir ta correction
une nouvelle fois MERCI
0