Nous allons maintenant agir sur le contenu et l'apparence des cellules et des feuilles.
Commencez par ouvrir l'éditeur, ajoutez-y un module, copiez la macro ci-dessous et associez-la à un bouton formulaire (voir page "Sélections" en cas de besoin) :
Nous voulons effectuer une action sur la cellule A8 avec ce début de macro.
Pour afficher la liste des possibilités que l'on peut associer à l'objet Range, ajoutez un point après Range ("A8") :Commencez par ouvrir l'éditeur, ajoutez-y un module, copiez la macro ci-dessous et associez-la à un bouton formulaire (voir page "Sélections" en cas de besoin) :
Sub proprietes()
'Macro incomplète
Range ("A8")
End SubPour ce premier exemple, cliquez sur "Value" puis sur la touche Tab pour valider ce choix.
Sub proprietes()
'Macro incomplète
Range("A8").Value
End SubNous voulons maintenant donner la valeur 48 à A8 :
Sub proprietes()
'A8 = 48
Range("A8").Value = 48
'Traduction :
'La valeur de la cellule A8 est égale à 48
End SubSub proprietes()
'A8 = Exemple de texte
Range("A8").Value = "Exemple de texte"
End SubPour modifier la cellule A8 de la feuille 2 en cliquant sur le bouton de la feuille 1, il faut ajouter avant Range : Sheets("Nom_de_la_feuille") ou Sheets(Numéro_de_la_feuille).
Sub proprietes()
'A8 de la feuille 2 = Exemple de texte
Sheets("Feuil2").Range("A8").Value = "Exemple de texte"
'Ou :
'Sheets(2).Range("A8").Value = "Exemple de texte"
End SubSub proprietes()
'A8 de la feuille 2 du classeur 2 = Exemple de texte
Workbooks("Classeur2.xlsx").Sheets("Feuil2").Range("A8").Value = "Exemple de texte"
End SubCes 2 lignes offrent un résultat identique :
Range("A8").Value = 48
Range("A8") = 48Effacer le contenu de cellules
Sub proprietes()
'Effacer le contenu de la colonne A
Range("A:A").ClearContents
End SubMise en forme du texte
Après avoir ajouté Font., la liste des propriétés que l'on peut attribuer à la mise en forme du texte apparaît :
La modification des couleurs sera détaillée à la page suivante ...
Mise en forme : taille du texte
Sub proprietes()
'Modifier la taille du texte des cellules A1 à A8
Range("A1:A8").Font.Size = 18
End SubMise en forme : texte en gras
Sub proprietes()
'Mettre en gras les cellules A1 à A8
Range("A1:A8").Font.Bold = True
End SubPour supprimer la mise en forme "caractères gras" à un texte, il faut donc remplacer "Oui" par "Non", autrement dit, "True" par "False" :
Sub proprietes()
'Enlever la mise en forme "gras" des cellules A1 à A8
Range("A1:A8").Font.Bold = False
End SubMise en forme : texte en italique
Sub proprietes()
'Mettre en italique les cellules A1 à A8
Range("A1:A8").Font.Italic = True
End SubMise en forme : texte souligné
Sub proprietes()
'Souligner les cellules A1 à A8
Range("A1:A8").Font.Underline = True
End SubMise en forme : police
Sub proprietes()
'Modifier la police de caractères des cellules A1 à A8
Range("A1:A8").Font.Name = "Arial"
End SubAjouter des bordures
Sub proprietes()
'Ajouter une bordure aux cellules A1 à A8
Range("A1:A8").Borders.Value = 1
'Value = 0 => pas de bordure
End SubModifier la mise en forme de la sélection actuelle
Sub proprietes()
'Ajouter une bordure aux cellules sélectionnées
Selection.Borders.Value = 1
End SubModifier les propriétés d'une feuille
Sub proprietes()
'Masquer une feuille
Sheets("Feuil3").Visible = 0
'Visible = -1 => annule l'effet
End Sub
N'oubliez pas que seule une toute petite minorité des possibilités de personnalisation sont indiquées ici.
Si la propriété dont vous avez besoin n'est pas détaillée ici, n'ayez pas peur de la rechercher grâce à la liste de choix et l'aide Excel.
L'enregistreur de macro peut également vous éviter de longues recherches. En enregistrant la manipulation dont vous avez besoin, vous pourrez retrouver plus facilement la propriété recherchée pour ensuite l'utiliser dans votre macro.
Si la propriété dont vous avez besoin n'est pas détaillée ici, n'ayez pas peur de la rechercher grâce à la liste de choix et l'aide Excel.
L'enregistreur de macro peut également vous éviter de longues recherches. En enregistrant la manipulation dont vous avez besoin, vous pourrez retrouver plus facilement la propriété recherchée pour ensuite l'utiliser dans votre macro.
Modifier la valeur d'une cellule en fonction d'une autre
Nous voulons ici que A7 prenne la valeur de A1 :Sub proprietes()
'A7 = A1
Range("A7") = Range("A1")
'Ou :
'Range("A7").Value = Range("A1").Value
End SubSub proprietes()
Range("A7").Font.Size = Range("A1").Font.Size
End Sub
Ce qui est à gauche du signe = prend la valeur de ce qui est à droite du signe =.
Modifier la valeur d'une cellule en fonction de sa propre valeur
Nous allons créer ici un compteur de clics.A chaque clic, la valeur de A1 sera augmentée de 1 :
Sub proprietes()
'Compteur de clics en A1
Range("A1") = Range("A1") + 1
End Sub'Pour exemple : avant l'exécution du code, A1 vaut 0
Sub proprietes()
'Un clic a été fait sur le bouton, nous entrons dans la procédure
'Pour le moment A1 vaut encore 0
'PENDANT l'exécution de la ligne ci-dessous A1 vaut toujours 0
Range("A1") = Range("A1") + 1 'Le calcul est alors : Nouvelle_valeur_de_A1 = 0 + 1
'A1 vaut alors 1 seulement APRES l'exécution de la ligne de code
End SubWith
Ce code permet de définir différentes propriétés à la cellule active :Sub proprietes()
ActiveCell.Borders.Weight = 3
ActiveCell.Font.Bold = True
ActiveCell.Font.Size = 18
ActiveCell.Font.Italic = True
ActiveCell.Font.Name = "Arial"
End SubVoici comment With fonctionne :
Sub proprietes()
'Début de l'instruction avec : WITH
With ActiveCell
.Borders.Weight = 3
.Font.Bold = True
.Font.Size = 18
.Font.Italic = True
.Font.Name = "Arial"
'Fin de l'instruction avec : END WITH
End With
End SubBien que ce ne soit pas indispensable dans ce cas, il est également possible d'éviter les répétitions de .Font, ce qui nous donnerait :
Sub proprietes()
With ActiveCell
.Borders.Weight = 3
With .Font
.Bold = True
.Size = 18
.Italic = True
.Name = "Arial"
End With
End With
End Sub
Aucun commentaire:
Enregistrer un commentaire