OVH Cloud OVH Cloud

Arrondi en VBA

11 réponses
Avatar
Brucat
Bonsoir ou Bonjour,

J'ai dans une colonne des chiffres avec 1 décimal.
ex : 14.5
Je désire arrondir au supérieur :
ex 15
Comme je suis en VBA, j'ai utilisé la fonction Round.

Cells(c, "o") = Round(L3)

Je suis stopper avec le message" incompatibilité de type".

Je dois me tromper mais je ne vois pas Où.

Merci pour vos réponses.




---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.559 / Virus Database: 351 - Release Date: 07/01/2004

1 réponse

1 2
Avatar
Brucat
Merci pour ton aide
j'ai tout essayé

la dernière soulution mettre dans la colonne P une formule avec un arrondi.
et enfin cela fonctionne.

"FxM" a écrit dans le message de
news:%
Si tu n'obtiens pas ton arrondi, c'est peut être parce que ce n'est
pas un nombre (cellule au format texte) ou pas un nombre valide
(séparateur décimal ./,)ou après une iportation du fichier.

A essayer sur une sauvegarde (et pas l'original !) :
Tapes 1 dans une cellule vide
Sélectionne cette cellule | copier
Sélectionne ta colonne I
Edition | collage special | multiplication

@+
FxM



Brucat wrote:

Je n'ai toujours pas mon arrondi

Mais je ne desespére pas.

Merci pour cette façon d'écrire mon code.

"FxM" a écrit dans le message de
news:e%

Bonsoir,

Un détournement honteux à tester :
Sub liste()
c = 1
For f = 1 To [b600].End(3).Row
L = L & Cells(f, "J") & Chr(10) 'liste noms'
If Cells(f, "B") <> Cells(f + 1, "B") Then
Cells(c, "K") = Cells(f, "A").Value 'chaine'
Cells(c, "L") = Cells(f, "G").Value 'date'
Cells(c, "O") = Int(Cells(f, "I").Value + 0.999999999) 'durée'
Cells(c, "M") = Left(L, Len(L) - 1)
c = c + 1
L = ""
End If
Next
End Sub


@+
FxM





Brucat wrote:


Merci pour cette réponse mais cela ne fonctionne pas.
donc pour une meilleure aide.
Voici mon code

Sub liste()
c = 1
For f = 1 To [b600].End(3).Row
L1 = Cells(f, "A").Value 'chaine'
L2 = Cells(f, "G").Value 'date'
L3 = Cells(f, "I").Value 'durée'
L = L & Cells(f, "J") & Chr(10) 'liste noms'
If Cells(f, "B") = Cells(f + 1, "B") Then
Else: Cells(c, "K") = L1
Cells(c, "L") = L2
Cells(c, "O") = L3
Cells(c, "M") = Left(L, Len(L) - 1): c = c + 1
L = ""
End If
Next
End Sub

merci pour la réponse
"Nicolas B." a écrit dans le message



de

news:


Salut,

Et comme ça, ça va mieux ?
Cells(Ligne, Colonne) = Round(range("L3"))
Remplace Ligne et Colonne par ce que tu souhaites (ils doivent
cependant





être des nombres entiers : ils représentent le numéro de ligne et de


colonne


de la cellule).


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC




Bonsoir ou Bonjour,

J'ai dans une colonne des chiffres avec 1 décimal.
ex : 14.5
Je désire arrondir au supérieur :
ex 15
Comme je suis en VBA, j'ai utilisé la fonction Round.

Cells(c, "o") = Round(L3)

Je suis stopper avec le message" incompatibilité de type".

Je dois me tromper mais je ne vois pas Où.

Merci pour vos réponses.




---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.559 / Virus Database: 351 - Release Date: 07/01/2004





---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.559 / Virus Database: 351 - Release Date: 07/01/2004







---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.559 / Virus Database: 351 - Release Date: 07/01/2004







---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.559 / Virus Database: 351 - Release Date: 07/01/2004






1 2