Selection plage avec une box
Résolu
faroka
-
faroka -
faroka -
Bonjour,
Sous Xp , excel 2000.
je voudrais selectionner une plage de cellule et faire le somme sur 3 colonnes.
j'ai un tableau de 6 colonnes ( c,d,e,f,g,h) sur 54 lignes (7 à 61)
(les titres et étiquettes de colonnes se trouvant entre les lignes 1 et 6).
Dans la colonne c , je rentre des dates, et dans les colonnes f, g, h des sommes .
je voudrais donc , avec l'aide d'une box choisir deux dates différentes et faire la somme colonne f , colonne g et colonne h qui correspond à la sélection demandée par la box .
Dans l'attente , bonne journée à vous.
faroka
Sous Xp , excel 2000.
je voudrais selectionner une plage de cellule et faire le somme sur 3 colonnes.
j'ai un tableau de 6 colonnes ( c,d,e,f,g,h) sur 54 lignes (7 à 61)
(les titres et étiquettes de colonnes se trouvant entre les lignes 1 et 6).
Dans la colonne c , je rentre des dates, et dans les colonnes f, g, h des sommes .
je voudrais donc , avec l'aide d'une box choisir deux dates différentes et faire la somme colonne f , colonne g et colonne h qui correspond à la sélection demandée par la box .
Dans l'attente , bonne journée à vous.
faroka
6 réponses
-
-
C'est un début . Par contre les sommes calculées en f g et h n'apparaissent seulement que dans trois cellules i2,i3 et i4 .Ce n'est pas une obligation d'apparaitre dans la box. De plus, j'ai un bug ligne :
With Sheets(1).colomns(3)
la methode Sheets de l'objet global a échoué erreur 1004
Merci à vous de m'aider
a +
Cordialement
faroka
Private Sub CommandButton2_Click()
Dim Datedeb As Date, Datefin As Date
Dim LignDeb As Integer, LignFin As Integer, Lign As Integer
Dim Somme As Double
If Label3.Caption = "" Then
MsgBox "Veuillez indiquer la date de départ"
Exit Sub
End If
If Label4.Caption = "" Then
MsgBox "Veuillez indiquer la date de fin"
Exit Sub
End If
Datedeb = CDate(Label3.Caption)
Datefin = CDate(Label4.Caption)
With Sheets(1).Columns(3)</ital> ' erreur 1004 -
-
Pour faire apparaitre les sommes en I2, I3 et I4, il convient d'ajouter, dans les codes de CommandButton_click, en fin de code :
Pour I2 :Private Sub CommandButton1_Click() Dim Datedeb As Date, Datefin As Date Bla bla bla bla TextBox1.Value = Somme Cells(2, 9).Value = Somme End Sub
Pour I3 :Private Sub CommandButton2_Click() Dim Datedeb As Date, Datefin As Date Bla bla bla bla TextBox1.Value = Somme Cells(3, 9).Value = Somme End Sub
Pour I4 :Private Sub CommandButton3_Click() Dim Datedeb As Date, Datefin As Date Bla bla bla bla TextBox1.Value = Somme Cells(4, 9).Value = Somme End Sub
Sinon, plus de bugs???
-
-
Bonjour,
Plus de Bug...
Autre petit problème , si j'ai n dates identiques ( ex 01/01/2010)
les sommes ne s'effectuent pas , même si on retrouve n dates dans la box.
Par contre ,
si on sélectionne la première date (01/01/2010 ....n dates ... 02/01/2010)
les sommes sont bien prises en compte .
Serait il également possible de grisé la ligne se trouvant juste en dessous de la date de fin à chaque fois que l'on agit sur la box ( que l'on fait la caisse) ceci pour mettre un " témoin" sur la feuille de calcul.
Merci à vous , Bon WE -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Salut,
Alors il faut tout repenser le code de l'USF...
On ne travaille plus en recherche de date, mais avec les lignes de ton tableau...
Voici tout le code :Dim LignDeb As Integer, LignFin As Integer Private Sub CommandButton1_Click() Dim Lign As Integer Dim Somme As Double If Label3.Caption = "" Then MsgBox "Veuillez indiquer la date de départ" Exit Sub End If If Label4.Caption = "" Then MsgBox "Veuillez indiquer la date de fin" Exit Sub End If If LignDeb > LignFin Then For Lign = LignDeb To LignFin Step -1 Somme = Somme + CDbl(Cells(Lign, 6).Value) Next Lign Else For Lign = LignDeb To LignFin Somme = Somme + CDbl(Cells(Lign, 6).Value) Next Lign End If TextBox1.Value = Somme Cells(2, 9).Value = Somme Rows(LignFin + 1).Interior.ColorIndex = 15 End Sub Private Sub CommandButton2_Click() Dim Lign As Integer Dim Somme As Double If Label3.Caption = "" Then MsgBox "Veuillez indiquer la date de départ" Exit Sub End If If Label4.Caption = "" Then MsgBox "Veuillez indiquer la date de fin" Exit Sub End If If LignDeb > LignFin Then For Lign = LignDeb To LignFin Step -1 Somme = Somme + CDbl(Cells(Lign, 7).Value) Next Lign Else For Lign = LignDeb To LignFin Somme = Somme + CDbl(Cells(Lign, 7).Value) Next Lign End If TextBox1.Value = Somme Cells(3, 9).Value = Somme Rows(LignFin + 1).Interior.ColorIndex = 15 End Sub Private Sub CommandButton3_Click() Dim Lign As Integer Dim Somme As Double If Label3.Caption = "" Then MsgBox "Veuillez indiquer la date de départ" Exit Sub End If If Label4.Caption = "" Then MsgBox "Veuillez indiquer la date de fin" Exit Sub End If If LignDeb > LignFin Then For Lign = LignDeb To LignFin Step -1 Somme = Somme + CDbl(Cells(Lign, 8).Value) Next Lign Else For Lign = LignDeb To LignFin Somme = Somme + CDbl(Cells(Lign, 8).Value) Next Lign End If TextBox1.Value = Somme Cells(4, 9).Value = Somme Rows(LignFin + 1).Interior.ColorIndex = 15 End Sub Private Sub Label1_Click() Dim Lign As Integer Dim cpt As Boolean cpt = False For Lign = 0 To ListBox1.ListCount If ListBox1.Selected(Lign) = True Then Label3.Caption = ListBox1.List(Lign) LignDeb = Lign + 7 ListBox1.Selected(Lign) = False cpt = True Exit For End If Next Lign If cpt = False Then MsgBox "Sélectionnez une date au préalable. Merci." End If End Sub Private Sub Label2_Click() Dim Lign As Integer Dim cpt As Boolean cpt = False For Lign = 0 To ListBox1.ListCount If ListBox1.Selected(Lign) = True Then Label4.Caption = ListBox1.List(Lign) LignFin = Lign + 7 ListBox1.Selected(Lign) = False cpt = True Exit For End If Next Lign If cpt = False Then MsgBox "Sélectionnez une date au préalable. Merci." End If End Sub Private Sub UserForm_Initialize() Dim Lign As Integer, DernLig As Integer Label3.Caption = "" Label4.Caption = "" TextBox1.Value = "" DernLig = Range("C65536").End(xlUp).Row For Lign = 7 To DernLig ListBox1.AddItem Cells(Lign, 3).Value Next End Sub
Tu dis... -
Merci Pijaku
Votre macro fonctionne parfaitement
Problème résolu.
Cordialement et bonnes fêtes de fin d'année