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
A voir également:
- Selection plage avec une box
- Set-top box - Accueil - Box & Connexion Internet
- Adresse ip box - Guide
- Tera box - Télécharger - Stockage
- Frédéric cherche à faire le buzz sur les réseaux sociaux. il a ajouté une image d’ours polaire sur une image de plage. retrouvez l'image originale de la plage. que cache l'ours polaire ? - Forum Graphisme
- Image de manchots sur une image de plage - Forum Musique / Radio / Clip
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
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 :
Pour I3 :
Pour I4 :
Sinon, plus de bugs???
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
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 :
Tu dis...
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...