Bonjour
Je cherche a obtenir le TOTAL d'un tableau dont la première ligne de données est A18 et dernière ligne variable avec ce code a partir d'un bouton de commande dans un formulaire.
Private Sub CmdTotalOv_Click()
Sheets("Ovirement").Activate
Dim LastRow As Long
LastRow = Range("E1048576").End(xlUp).Row
LastRow = LastRow + 2
Range("D" & LastRow) = "TOTAL"
Range("D" & LastRow).HorizontalAlignment = xlRight
Range("E" & LastRow)= Application.WorksheetFunction.Sum(Range("E17:E" & LastRow))
End Sub
L'ennui c'est qu’après avoir applique ce code le resultat de la cellule = toujours 0
Prière de me donner une astuce
Merci d'avance
Bonjour,
Vous faites la somme de la colonne E et non A.
A la dernière ligne remplacez "E17:E" par "A17:A" si les donnés sont bien en colonne A ET COMMENCENT bien en A17.
Bonjour,
Je me suis mal exprime. En fait le tableau commence en A17 Mais la plage des données a calculer se trouve a la colonne E (soit "E17:E")
L'ennui c'est que ce code a marche ailleurs.
Merci
Ce fameux   issu probablement de page HTML.
Si en F18 vous faites =E18+1 on obtient #Valeur ce qui prouve que ce nombre en E18 est une chaine de caractères.
Trois solutions possibles :
- En F18 mettre =CNUM(GAUCHE(E18;3)&DROITE(E18;3))
- Ou selectionner le "caractères" entre 200 et 000 de E18. Selectionner la colonne E faite Remplacer puis copier cette valeur, remplacer par rien.
- Ou encore Lancer cette macro qui se charge du remplacement :
VB:
Sub SupCar160()
Columns("E:E").Select
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("E1").Select
End Sub
Quelle feuille n'est pas la bonne ???
Tout ce que Sylvanu explique correspond exactement au problème que nous avons constaté dans la feuille "Ovirement" du premier fichier.
Si les données (nominatives, banquaires et autres) ne sont pas bidon, il faut supprimer le premier fichier posté.
C'est pour une question de confidentialité et aussi pour respecter la charte du forum.
Je comprends
please a quel niveau doit-on introduire la fameuse macro du grand Sylvanu
Sub SupCar160()
Columns("E:E").Select
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("E1").Select
End Sub
Est ce dans le code du bouton calcul ou dans le module de la feuille
Merci
Ce fameux   issu probablement de page HTML.
Si en F18 vous faites =E18+1 on obtient #Valeur ce qui prouve que ce nombre en E18 est une chaine de caractères.
Trois solutions possibles :
- En F18 mettre =CNUM(GAUCHE(E18;3)&DROITE(E18;3))
- Ou selectionner le "caractères" entre 200 et 000 de E18. Selectionner la colonne E faite Remplacer puis copier cette valeur, remplacer par rien.
- Ou encore Lancer cette macro qui se charge du remplacement :
VB:
Sub SupCar160()
Columns("E:E").Select
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("E1").Select
End Sub