Comment faire une addition selon une variable dans VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

TimNorm

XLDnaute Nouveau
Bonjour tout le monde,

Je vous mets en contexte;

- J’ai un onglet pour ma saisie de données
- J’ai plusieurs onglets où mes données sont acheminées
- J’ai une section sur la main-d’œuvre, qui comprend les noms, taux horaire et total
- Présentement, lorsque j’entre des nouvelles données pour la main-d’œuvre, celles-ci se rajoute et s’additionne l’une après les autres même quand je saisie deux fois la même personne.

Voici ce que j’ai présentement comme code :

Code:
Sub MOFabrication()

' Declaration des variables
    Dim Nom As String, tauxhoraire As Integer, nbrheures As Integer, total As Integer, Projet As String

Sheets("ModèleR").Activate

' Valeurs des variables
Nom = Range("A21").Value
tauxhoraire = Range("B21").Value
nbrheures = Range("C21").Value
total = Range("D21").Value
Projet = Range("E21").Value
  
If Nom <> "" And tauxhoraire <> 0 And nbrheures <> 0 And total <> 0 Then
    ThisWorkbook.Worksheets(ModèleR.[E21].Value).Activate

Range("F142").Activate

Do

    If ActiveCell.Value = "" Then Exit Do
    ActiveCell.Offset(1, 0).Activate
        
Loop
    
ActiveCell.Value = Nom
ActiveCell.Offset(0, 1) = tauxhoraire
ActiveCell.Offset(0, 2) = nbrheures
ActiveCell.Offset(0, 4) = total

End If
    
Sheets("ModèleR").Select
Range("A21, C21, E21").ClearContents

End Sub


J’aimerais en fait que lorsque je saisis X fois le même nom, que les colonnes taux horaire et total s’additionne avec les anciennes données déjà saisis.

Merci à tous d'avance
 
Re : Comment faire une addition selon une variable dans VBA

Je m'excuse si je ne suis pas assez clair dans mon énoncé, mais ce que j'essaie de faire c'est; (exemple, si j'ai Mike qui a travaillé 2 x 8 hrs)

Nom, -------------------- Taux horaire, ----------------- Nbr. heures, -------------------- Total

Mike -------------------------------- 35,00$ -------------------------- 16------------------------------ 560$

et non,

Mike --------------------------------35,00 $ --------------------------- 8 ----------------------------- 280 $
Mike --------------------------------35,00 $ --------------------------- 8 ----------------------------- 280 $


J'espère que c'est plus clair comme ça.

Merci encore
 
Re : Comment faire une addition selon une variable dans VBA

Bonjour,

Voici une proposition :



Code:
Sub MOFabrication()

' Declaration des variables
    Dim Nom As String, tauxhoraire As Integer, nbrheures As Integer, total As Integer, Projet As String

Sheets("ModèleR").Activate

' Valeurs des variables
Nom = Range("A21").Value
tauxhoraire = Range("B21").Value
nbrheures = Range("C21").Value
total = Range("D21").Value
Projet = Range("E21").Value
 
If Nom <> "" And tauxhoraire <> 0 And nbrheures <> 0 And total <> 0 Then
    ThisWorkbook.Worksheets(ModèleR.[E21].Value).Activate

Range("F142").Activate
dim cumul_total
Do
    If ActiveCell.Value = "" Then
         Exit Do
    else
       cumul_total=cumul_total +  ActiveCell.Offset(0, 4)
    end if
    ActiveCell.Offset(1, 0).Activate       
Loop
   
ActiveCell.Value = Nom
ActiveCell.Offset(0, 1) = tauxhoraire
ActiveCell.Offset(0, 2) = nbrheures
ActiveCell.Offset(0, 4) = total[B] + cumul_total[/B]

End If
   
Sheets("ModèleR").Select
Range("A21, C21, E21").ClearContents

End Sub
 
Re : Comment faire une addition selon une variable dans VBA

Merci,

mais ceci ne fonctionne pas, car lorsque j'entre par exemple deux fois le même nom (Mike), je me trouve à avoir encore le détails des deux saisis, mais je veux que le détail soit cumulés sur une seule ligne (pour le nbr. heure et le total) quand le nom reste le même et sur une autre ligne quand le nom change.
 
Re : Comment faire une addition selon une variable dans VBA

Oui, mais comme j'ai mentionné précédemment et dans mon deuxième message, j'aimerais avoir le nbr heures ainsi que le total de l'employé sélectionné cumulé sur une seule ligne. Toutefois, ce qu'il m'a suggéré donnait le cumul du total mais continuait à détaillé l'information sur les lignes suivante et non sur la même ligne.
 
Re : Comment faire une addition selon une variable dans VBA

J'ai enfin trouvé ce qu'il me fallait. Donc, je laisse sur le forum mes code vba pour ceux qui rechercherais quelque chose de semblable.

Merci à ceux qui ont essayé de m'aider.

Code:
Sub MOFabrication()

' Declaration des variables
    Dim Nom As String, tauxhoraire As Integer, nbrheures As Integer, total As Integer, Projet As String, recherche As Range
    
Sheets("ModèleR").Activate

' Valeurs des variables
Nom = Range("A21").Value
tauxhoraire = Range("B21").Value
nbrheures = Range("C21").Value
total = Range("D21").Value
Projet = Range("E21").Value
  
If Nom <> "" And tauxhoraire <> 0 And nbrheures <> 0 And total <> 0 Then
    ThisWorkbook.Worksheets(ModèleR.[E21].Value).Activate

Range("F142").Activate
Set recherche = Range("F142:F158").Find(Nom, LookIn:=xlValues)


    If recherche Is Nothing Then

Do

    If ActiveCell.Value = "" Then Exit Do
    ActiveCell.Offset(1, 0).Activate
        
Loop
    
ActiveCell.Value = Nom
ActiveCell.Offset(0, 1) = tauxhoraire
ActiveCell.Offset(0, 2) = nbrheures
ActiveCell.Offset(0, 4) = total

    End If

    If Not recherche Is Nothing Then
    
Dim cumul_total
Dim cumul_nbrheures

cumul_total = cumul_total + recherche.Offset(0, 4)
cumul_nbrheures = cumul_nbrheures + recherche.Offset(0, 2)


recherche.Offset(0, 2) = nbrheures + cumul_nbrheures
recherche.Offset(0, 4) = total + cumul_total

    End If
    
End If
    
Sheets("ModèleR").Select
Range("A21, C21, E21").ClearContents

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour