macro pour arrondir directement dans le tableau

bill01

XLDnaute Nouveau
Bonjour,

Je fais à nouveau appel à la communauté du forum pour m'aider sur un petit problème. Voilà, j'ai de nombreux tableaux avec des données numéraires. Ces données sont arrondies pour ne pas s'afficher avec des chiffres après la virgule (cf exemple en pièce jointe). Je connais la formule arrondi, mais mon problème c'est que cela va être très fastidieux de l'appliquer sur tous mes tableaux. Voilà comment je l'utilise: je me place sur la cellule B15, je saisie ma formule avec comme référence la cellule B3. Puis j'étire la formule sur les autres cellule. Cela me génère un second tableau.

Ais-je la possibilité d'appliquer la formule directement dans mon tableau pour m'éviter des copier-coller ou alors est-ce possible de passer par une macro qui arrondirait toutes les feuilles de mon classeur Excel en une seule fois?

En gros, selon vous, qu'elle serait la méthode la moins fastidieuse pour convertir tous mes tableaux avec des nombres entiers?

Merci pour votre aide ! :p
 

Pièces jointes

  • Classeur1.xlsx
    8.7 KB · Affichages: 42
  • Classeur1.xlsx
    8.7 KB · Affichages: 38
  • Classeur1.xlsx
    8.7 KB · Affichages: 37

Robert

XLDnaute Barbatruc
Repose en paix
Re : macro pour arrondir directement dans le tableau

Bonjour Bill, bonjour le forum,

Peut-être comme ça :

Code:
Sub Macro1()
Dim CEL As Range 'déclare la variable CEL (CELlule)

For Each CEL In ActiveSheet.UsedRange 'boucle sur toutes les cellules CEL de la plage des cellules éditées
    On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
    CEL.Value = Round(CEL.Value, 0) 'arrondit la valeur de la cellule au nombre entier (génère une erreur si le contenu de la cellule n'est pas numérique)
    If Err <> 0 Then Err.Clear 'si une erreur a été générée, supprime l'erreur
    On Error GoTo 0 'annule la gestion des erreurs
Next CEL 'prohaine cellule de la plage des cellules éditées
End Sub
 

bill01

XLDnaute Nouveau
Re : macro pour arrondir directement dans le tableau

Bonjour Bill, bonjour le forum,

Peut-être comme ça :

Code:
Sub Macro1()
Dim CEL As Range 'déclare la variable CEL (CELlule)

For Each CEL In ActiveSheet.UsedRange 'boucle sur toutes les cellules CEL de la plage des cellules éditées
    On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
    CEL.Value = Round(CEL.Value, 0) 'arrondit la valeur de la cellule au nombre entier (génère une erreur si le contenu de la cellule n'est pas numérique)
    If Err <> 0 Then Err.Clear 'si une erreur a été générée, supprime l'erreur
    On Error GoTo 0 'annule la gestion des erreurs
Next CEL 'prohaine cellule de la plage des cellules éditées
End Sub

Merci ! Mais il suffit que je mette le code dans visual basic et cela fonctionne? parce que c'est ce que j'ai fait, et cela n'a rien changé. Je suis désolé, je suis nul en code.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : macro pour arrondir directement dans le tableau

Bonjour Bill, boujour le forum,

• tu copies le code que je t'ai donné
• tu ouvres ton classeur Excel et tu te places dans l'onglet désiré
• tu ouvres VBE (Visal Basic Editor) avec la combinaison de touches [Alt]+[F11]
• dans VBE, menu Insertion/Module
• ça crée un module qui par défaut s'appelle Module1
• dans le grand cadre blanc à droite, tu colles le code
• tu fermes VBE (toujours avec [Alt]+[F11]
• dans ton classeur Excel tu ouvres la boîte de dialogues Macro par la combinaison [Alt]+[F8]
• dans le champ [Macros dans] de la boîte de dialogue choisis l'option Ce classeur
• double-clique surla macro Macro1 pour la lancer...

Attention
,le fait d'avoir mis une macro va t'obliger à enregistrer le classeur sous xlsm !
 

Discussions similaires

Statistiques des forums

Discussions
312 304
Messages
2 087 050
Membres
103 441
dernier inscrit
MarioC