Excel
Résolu/Fermé
sid3show79
Messages postés
19
Date d'inscription
mercredi 13 avril 2016
Statut
Membre
Dernière intervention
23 décembre 2019
-
23 juil. 2016 à 22:34
sid3show79 Messages postés 19 Date d'inscription mercredi 13 avril 2016 Statut Membre Dernière intervention 23 décembre 2019 - 24 juil. 2016 à 02:32
sid3show79 Messages postés 19 Date d'inscription mercredi 13 avril 2016 Statut Membre Dernière intervention 23 décembre 2019 - 24 juil. 2016 à 02:32
A voir également:
- Excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Mise en forme conditionnelle excel - Guide
2 réponses
thev
Messages postés
1883
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
6 novembre 2024
691
Modifié par thev le 24/07/2016 à 00:13
Modifié par thev le 24/07/2016 à 00:13
Bonjour,
ci-joint code à essayer
ci-joint code à essayer
Sub essaie()
Dim semaine As Range, vente As Range, férié As Range, ligne As Range
Dim cumul_vente As Long
Dim strnb_semaine As Integer
Dim A, B, C, D, E, F, G
strnb_semaine = 6
Dim strsem_ref As Integer
With Feuil2.UsedRange 'plage utilisée
'définition rubriques
Set semaine = .Cells.Find("semaine", LookIn:=xlValues)
Set vente = .Cells.Find("vente", LookIn:=xlValues)
Set férié = .Cells.Find("férié", LookIn:=xlValues)
'assignation numéro de semaine
strsem_ref = InputBox("quelle est votre semaine de reférence?")
Set ligne_semaine = semaine.Resize(.Rows.Count).Find(strsem_ref, LookIn:=xlValues)
If ligne_semaine.Row - semaine.Row - strnb_semaine >= 0 Then Set début_semaine = ligne_semaine.Offset(-strnb_semaine) _
Else Set début_semaine = semaine
'cumul vente juqu'au numéro de semaine choisi
cumul_vente = 0
For Each ligne In .Offset(début_semaine.Row).Resize(.Rows.Count - début_semaine.Row).Rows
If ligne.Columns(férié.Column) <> "oui" Then cumul_vente = cumul_vente + ligne.Columns(vente.Column)
If ligne.Columns(semaine.Column) = strsem_ref Then Exit For 'sortie boucle lorsque le numéro de semaine choisi est atteint
Next
End With
'Stockage dans Feuil1
Feuil1.Range("B3") = cumul_vente
End Sub
thev
Messages postés
1883
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
6 novembre 2024
691
Modifié par thev le 24/07/2016 à 02:34
Modifié par thev le 24/07/2016 à 02:34
ci-joint code modifié
--
Sub essaie()
Dim semaine As Range, vente As Range, férié As Range, ligne As Range
Dim cumul_vente As Long
Dim strnb_semaine As Integer
Dim A, B, C, D, E, F, G
Dim strsem_ref As Integer
With Feuil2.UsedRange 'plage utilisée
'définition rubriques
Set semaine = .Cells.Find("semaine", LookIn:=xlValues)
Set vente = .Cells.Find("vente", LookIn:=xlValues)
Set férié = .Cells.Find("férié", LookIn:=xlValues)
'assignation numéro de semaine
strsem_ref = InputBox("quelle est votre semaine de reférence?")
Set ligne_semaine = semaine.Resize(.Rows.Count).Find(strsem_ref, LookIn:=xlValues)
End With
'cumul vente depuis le numéro de semaine choisi
cumul_vente = 0
strnb_semaine = 6
For i = ligne_semaine.Row To semaine.Row + 1 Step -1
If férié.Rows(i + 1 - férié.Row) <> "oui" Then
cumul_vente = cumul_vente + vente.Rows(i + 1 - vente.Row)
strnb_semaine = strnb_semaine - 1
End If
If strnb_semaine = 0 Then Exit For 'sortie boucle lorsque les 6 semaines sont ateintes
Next
'Stockage dans Feuil1
Feuil1.Range("B3") = cumul_vente
End Sub
sid3show79
Messages postés
19
Date d'inscription
mercredi 13 avril 2016
Statut
Membre
Dernière intervention
23 décembre 2019
24 juil. 2016 à 02:32
24 juil. 2016 à 02:32
merci!! je vais essayer de comprendre le tout maintenant.
24 juil. 2016 à 00:22
faudrais qu'il skip les feriés et qui passe a la suivante pour avoir les 6 semaines
24 juil. 2016 à 00:33
le problème c'est d'assigner les variables sinon juste de changer la méthode utilisé. au départ c'est ce que je voulais faire mais ca me semble un plus complexe.
merci de ton aide