Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Fonction pour qu'une cellule se barre automatiquement
Re : Fonction pour qu'une cellule se barre automatiquement
Bonjour, marine, le Forum,
Comme ceci, peut-être ?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If [a1] = "" Then [a1].Borders(xlDiagonalUp).LineStyle = xlContinuous
If [a1] <> "" Then [a1].Borders(xlDiagonalUp).LineStyle = xlNone
End Sub
Re : Fonction pour qu'une cellule se barre automatiquement
merci beaucoup
mais il n'existe pas de fonction plus simple, comme une fonction conditionnelle (SI(estvide(A1;"?";"ok")
je m'y connais pas vraiment en code visual basic....)
Re : Fonction pour qu'une cellule se barre automatiquement
Bonjour
Coucou DoubleZero
Tout fout le camp...
Une formule conditionnelle ne peut donner qu'un ou plusieurs caractères et je n'ai rien trouvé qui conviendrait.
Une mise en forme conditionnelle correspondrait mieux mais pas de barre oblique.
Parfois il faut combiner les deux.
On peut utiliser des images : un classeur ci-joint sans doute récupéré ici.
Re : Fonction pour qu'une cellule se barre automatiquement
Bonsoir
On peut peut être faire à l'envers : Mettre des diagonales dans toutes les cellules d'une plage donnée, et mettre une macro qui enlève les diagonales des cellules dans lesquelles on écrit quelque chose.
Re : Fonction pour qu'une cellule se barre automatiquement
Re bonsoir tout le monde !
merci pour toutes ces réponses malheureusement il s'agit d'une des instructions que je dois respecter pour la mise en page d'un document (le fait que les cellules sa barrent selon certains cas) il s'agit du respect de la charte graphique de mon entreprise.
je pensais à une fonction (copier coller) ... si la cellule A1 est vide alors reprendre la mise en forme (barré) d'une cellule modèle (par exemple E1)
mais si cela ne peut pas se faire automatiquement alors les membres de l'administration feront eux-mêmes la mise en page manuellement
Re : Fonction pour qu'une cellule se barre automatiquement
Bonsoir à tous
Si on ne veut pas écrire de code dans le classeur à traiter, je ne vois pas de solution, comme vous l'avez tous remarqué.
Un pis-aller est peut-être envisageable si on peut utiliser un classeur de procédures personnelles.
On traite le fichier de travail sans s'occuper des cellules à barrer. Lorsqu'on a fini le traitement, on sélectionne la plage dans laquelle les cellules vides (ou non vides contenant un chaîne de caractères de longueur nulle) doivent être barrées. Cette plage peut être constituée d'une ou de plusieurs zones.
On exécute la procédure barre qu'on aura préalablement installée dans un classeur de procédures personnelles.
Ainsi, en une passe, une feuille est traitée sans qu'on ait besoin de sélectionner individuellement les cellules vides, puis de leur appliquer une mise en forme.
Ce n'est pas complètement automatisé, mais c'est peut-être mieux que rien...
Suggestion de procédure :
VB:
Sub barre()
Dim oCel As Range, LigStyle()
LigStyle = Array(xlNone, xlContinuous)
If Not Selection Is Nothing Then
Application.ScreenUpdating = False
For Each oCel In Selection.Cells
oCel.Borders(xlDiagonalDown).LineStyle = LigStyle(-(IsEmpty(oCel) Or oCel.Value = ""))
Next
Application.ScreenUpdating = True
End If
End Sub
Faute de merle, on mange des grives...
ROGER2327 #5722
Dimanche 8 Clinamen 139 (La Machine à Peindre - fête Suprême Seconde) 10 Germinal An CCXX, 9,4412h - couvoir 2012-W13-5T22:39:32Z
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.