Macro et mise en page

Bonjour

j'aurai quelques questions qui je pense sont assez triviales c'est juste que je n'ai jamais essayé auparavant.

J'ai ecrit un code et je voudrais rajouter des instructions qui permettrai de colorier une étendue d'une certaine couleur , ou bien tout simplement d'effacer les valeurs écrites sur une certaine étendue. Comment faire par exemple si je veux colorier ou effacer la surface rectangulaire qui s'étend de (A,2) à (E,6) ?

ajout de derniere minute :

Je chercherai également à définir le format d'une cellule par exemple je voudrais que la Cells(3,4) qui est à la base un nombre entre 0 et 1 soit convertie en pourcentage , est-ce qu'on peut rentrer ça dans la macro ?

Merci d'avance.

Kevin,

Si tu veux commencer à travailler avec des macros, essaies déjà d'enregistrer toi-même des macros simples à l'aide de l'enregistreur de macros fourni avec Excel.

J'ai enregistré les trois macros que tu demandes dans le fichier ci-joint.

Il est bien entendu que ces macros automatiques ne sont de loin pas parfaites, mais c'est un bon début.

https://www.excel-pratique.com/~files/doc/Macros_enregistrees.xls

Salut

Merci , cependant ça me pose quand même un problème étant donné que la zone que je veux selectionner pour changer de couleur , effacer ou changer de format , dépend d'une variable posée dans mon code. Ce n'est pas vraiment la zone A2:E6 qu je voudrais mais plutôt la zone AI:E(I+9) avec I une variable numérique que j'ai posé préalablement.

Et forcément quand j'ecris Range("AI:E(I+9").Select il ne comprend rien.

N'y a t'il pas un autre moyen de le faire en définissant les cellules "à la manière visual basic" c'est à dire Cells(ligne,colonne) ??

Bonjour,

si ta variable i est bien numérique, tu peux essayer comme ceci :

Range("A" & i & ":E" & i + 9).Interior.ColorIndex = 6

merci c'est bon ça marche

et si je veux effacer le contenu ? interior.Clear ?

Re-

comme te l'as fort à propos dit yvouille, l'enregistreur de macro est ton meilleur allié

Range("A" & i & ":E" & i + 9).Interior.ColorIndex = xlNone

Oui c'est-ce que j'essais de faire , j'essais de me baser sur le code que me fournit la macro pré enregistrée "ClearContents" mais ça ne marche pas étant donné que celui ci est basée sur une selection manuelle au préalable.

xlnone m'enlève les couleurs mais pas le texte . C'est surtout le texte que je veux effacer , c'est pas grave si les couleurs restent.

Comment effacer le texte depuis une slection du type Range("A" & i & ":E" & i + 9).Interior ... ?

Re-

pour éviter de retaper à chaque fois Range...., tu peux utiliser l'instruction With, End With

With Range("A" & i & ":E" & i + 9)
    .ClearContents
    .Interior.ColorIndex = xlNone
End With

ça marche

parfait

niquel

merci

Rechercher des sujets similaires à "macro mise page"