Bonjour et Merci pour ta prompte réaction
Bonjour Nathalie Charette,
voyez si le fichier joint vous convient
Malheureusement non.
J'essaie de me réexpliquer :
Au fait, le premier fichier que j'ai envoyé lors du premier post est le Bon.
C'est un Facturier. La feuille 1 Facture et la Feuille 2 récupère les commissions sur la facture encours avant que la facture ne soit archivée pour laisser place à une autre. L'archivage de la facture et l'affichage de la facture suivante est par macro.
A la fin d'un mois, je suis obligé de calculer les commissions manuellement. Et c'est périlleux avec rechercheV et Nb.si.ens et somme.si(). Du coup, je souhaiterais qu'en cliquant sur le bouton d'archivage, que la feuille commission, pour le mois sur la facture encours, récupère le nombre de voyages qu'un camion a effectué et son chiffre d'affaires.
La feuille commission a 12 tableaux représentant les 12 mois de l'année. La première colonne du mois je voudrais la nommer par exemple "Janvier" via une variable Texte, pour que la date encours sur le facturier soit convertie en texte au format "mmmm" pour qu'on puis écrire un truc du genre sheets("Commissions").range(VariableText).select
J'ai essayé d'extraire avec ceci mais les RANGE() me renvoient toujours erreur !
Sub Calcul_Commissions()
Dim LaPlage As Variant, i As Integer 'Ma Variable Texte Pour le mois, et i pour boucler dans les 13 cellules (représentant 13 camions)
Application.ScreenUpdating = True
With ActiveSheet 'Le Facturier
If .Name = "FAC SEFAC" Then
If Left(.Range("DATE1").Cells(1, 1).Offset(0, 1).Value, 8) = "UFA10009" Then 'N° de la forêt car les commissions varient en fonction
LaPlage = .Range("DATE1").Cells(1, 1).Value
LaPlage = Format(LaPlage, "mmmm") 'je le converti en texte (sais pas si c'est faisable comme cela)
Sheets("Commissions").Range(LaPlage).Select 'sachant que pour chaque tableau commission, j'ai une colonne de 13 N° de camions que j'ai nommé manuellement janvier...à Décembre.
For i = 1 to selection.cells.count
Cells(i).Value = Cells(i).Value + Application.CountIf(Sheets("FAC SEFAC").Range("Nrocam"), _
Cells(i).Offset(0, -2)) 'Nbre de Navettes
.Cells(i).Value = .Cells(i).Value + WorksheetFunction.Application.SumIf(Sheets("FAC SEFAC").Range("Nrocam"), _
Selection.Offset(0, -8).Cells(i), Sheets("FAC SEFAC").Range("PTHT")) 'Chiffre d'affaires
' Et ainsi de suis en fonction de la foret et du numéro de Camion
MsgBox i
Next i
End If
End If
End With
End Sub