Bonjour, voila moi j'ai un autre probléme j'ai un fichier excel avec 1124 ligne et j'ai une colonne qui à le nombre d'effectif pour chaque établissement sous la forme 1.00 soit 1 salarié ou 1 personne.
J'ai seulement qq notions en vb, j'ai commencé un bout de code pour avoir la collonne " n " de ma feuille excel arrondi sans décimale
1.00 => 1 le soucis c'est que la conversion fonctionne cependant après éxécution j'ai une colonne " n " avec 0 sur les 1124 lignes, il écrase les autres donnés par etablissement ex : 2 salarié, 5 salariés etc... ( 2.00 => 0 5.00 => 0 )
Code :
- Sub Arrondi()
- Dim i As Long
- Dim n As Long
- i = 0
- For i = 2 To 1124 ( je commence a partir de la ligne 2 )
- Cells(i, "n" ).Value = Format(Cells(i, "n" ).Value, "#0" )
- Next i
- MsgBox ("Conversion de l'effectif arrondi à l'entier OK" )
- End Sub
|
D'où peut provenir l'erreur sachant que la 1ére ligne est l'en-tête ( Code, libellé, raison social etc...)
Initialisation de i ? Format ?
Je pense qu'il ne fait pas la différence entre chaque cellule et met des 0 de partout par rapport à "#0" mais si a chaque fois je passe a la suivante ca devrait marcher non ? ce qui est bizarre c'est que j'essaye avec un fichier excel plus petit avec x valeur sous la forme 1.17 et il compare chaque ligne et me fait les changement correctement ligne par ligne est ce du au format de cellule sous excel ?
Je vous remercie d'avance de vos réponses car je bloque un peu depuis ce matin autant bien la solution est toute simple ! Y'a t il un autre bout de code ou une autre fonction qui permet de faire cela j'ai essayer avec la fonction round mais ce n'est pas très concluant
Merci d'avance !!!
Message édité par shurik84 le 24-12-2009 à 14:56:47