les modifications suivantes sont proposées sans modification de la structure du code, en supposant que celle ci est voulue ainsi afin de pouvoir rajouter d'autres contrôles ultérieurement.
Si l'USF reste à 2 contrôles on pourrait simplifier.
1) pour que l'enregistrement se fasse en numérique
Modifier
Code:
If r > 0 Then .Cells(Derligne, r) = Ctrl
en
Code:
If r > 0 Then
If r = 2 Then
.Cells(Derligne, r) = CDbl(Ctrl)
Else
.Cells(Derligne, r) = Ctrl
End If
End If
' Mettre le total du tableau
nombre_de_colonne = 2
L = .Cells(Rows.Count, 1).End(xlUp).Row
For x = 2 To nombre_de_colonne
.Cells(L + 1, x).Formula = "=SUM(" & .Cells(12, x).Address & ":" & .Cells(L, x).Address & ")"
Next
en
Code:
' Mettre le total du tableau
nombre_de_colonne = 2
For x = 2 To nombre_de_colonne
.Cells(Ligne + 1, x - 1) = "Total général"
.Cells(Ligne + 1, x).Formula = "=SUM(" & .Cells(12, x).Address & ":" & .Cells(Ligne, x).Address & ")"
Next
Bonjour Infinity, bonjour le forum,
je n'ai pas repris les modifications proposées par paf car je faisais les modifications en parallèle, mais le principe est un peu le même.
j'ai aussi ajouté 2 vérifications en début de macro :
le nom saisi ne doit pas avoir une longueur nulle (autrement dit il faut saisir un nom)
la somme doit être une donnée numérique.
Il y aurait encore bien d'autres modifications à faire pour optimiser ce code, mais je suppose que ce n'est pas encore le projet finalisé.