Selection plage avec une box
Résolu/Fermé
A voir également:
- Selection plage avec une box
- Frédéric cherche à faire le buzz sur les réseaux sociaux. il a ajouté une image de manchots sur une image de plage. retrouvez l'image originale de la plage. que cachent les manchots ? ✓ - Forum Windows
- Vba selection plage variable ✓ - Forum VB / VBA
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
- Mycanal box africa ✓ - Forum Réception vidéo
- Light in the box problème - Forum Consommation et internet
6 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
10 déc. 2010 à 12:08
10 déc. 2010 à 12:08
Salut,
Est ce que ce fichier pourrait vous convenir???
Vous dites...
Est ce que ce fichier pourrait vous convenir???
Vous dites...
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
Euh .....
Aprés avoir enregistrer je n'ai plus de bug
Désolé .................
Aprés avoir enregistrer je n'ai plus de bug
Désolé .................
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
10 déc. 2010 à 12:50
10 déc. 2010 à 12:50
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
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
13 déc. 2010 à 09:11
13 déc. 2010 à 09:11
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...