Bonjour a tous
Je cherche à fignoler un tableau qui contient notamment des MFC. Le problème est que je suis sous Excel 2000, qui n'autorise que 3 MFC par cellule.
Pour répondre a mes attentes, je voudrais résoudre au moins une MFC en ajoutant un code VBA
Dans mon exemple ci-joint, sur la plage A1:H20, la colonne A se remplit automatiquement par un "1" si la ligne contient quelque chose.
Exemple, sur la ligne 1, de ce que je voudrais : si A1 n'est pas vide --> mettre des bordures autour de toutes les cellules de A1 à H1
J'ai un début de piste avec le code suivant :
Mais ce n'est pas bon car :
1- ça encadre toute la ligne : je ne sais pas limiter la selection à la ligne active ET colonnes de A à H
2- ça encadre la ligne QUI SUIT celle où j'ai fait ma saisie. En effet, quand je fais "entrée" pour valider la cellule, j'atteris à la ligne suivante ! Et quid si l'utilisateur utilise sa souris pour changer de cellule ?!
3- j'aimerais aussi que au cas où la valeur "1" dans la colonne A disparaisse, alors l'encadrement disparaisse aussi
---> il faudrait que l'encadrement ne découle pas de la cellule active mais plutôt de la présence ou non d'un caractère dans la colonne A
J'avoue que je ne suis pas une surdouée de VBA et mon code doit être très loin du compte !
Merci pour votre aide
Je cherche à fignoler un tableau qui contient notamment des MFC. Le problème est que je suis sous Excel 2000, qui n'autorise que 3 MFC par cellule.
Pour répondre a mes attentes, je voudrais résoudre au moins une MFC en ajoutant un code VBA
Dans mon exemple ci-joint, sur la plage A1:H20, la colonne A se remplit automatiquement par un "1" si la ligne contient quelque chose.
Exemple, sur la ligne 1, de ce que je voudrais : si A1 n'est pas vide --> mettre des bordures autour de toutes les cellules de A1 à H1
J'ai un début de piste avec le code suivant :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range
For Each Cel In Range("A1:H20")
If Cel <> "" Then
ActiveCell.EntireRow.Borders.Weight = xlThin
End If
Next
End Sub
Mais ce n'est pas bon car :
1- ça encadre toute la ligne : je ne sais pas limiter la selection à la ligne active ET colonnes de A à H
2- ça encadre la ligne QUI SUIT celle où j'ai fait ma saisie. En effet, quand je fais "entrée" pour valider la cellule, j'atteris à la ligne suivante ! Et quid si l'utilisateur utilise sa souris pour changer de cellule ?!
3- j'aimerais aussi que au cas où la valeur "1" dans la colonne A disparaisse, alors l'encadrement disparaisse aussi
---> il faudrait que l'encadrement ne découle pas de la cellule active mais plutôt de la présence ou non d'un caractère dans la colonne A
J'avoue que je ne suis pas une surdouée de VBA et mon code doit être très loin du compte !
Merci pour votre aide