Probleme Borders.Value excel 2010
Résolu
silerys
Messages postés
124
Statut
Membre
-
silerys Messages postés 124 Statut Membre -
silerys Messages postés 124 Statut Membre -
Bonjour,
Voila mon petit soucis,
Je cherche par une fonction (un sub hein ^^) VBA a copier le style d'une cellule par rapport a une autre.
Le problème est que je n'arrive pas a accédé a la fonction a la valeur Value de mon border.
Ceux qui normalement permet d'afficher les bordures ou non.
La je n'ai rien qui passe.
Si je supprime la ligne .Value je n'est plus d'erreur.
je ne voit pas se qui peut généré cette erreur.
De plus si je ne prend pas cette valeur, les bordures sur la cellules de destinations sont toujours affiché. alors que al cellule d'origine n'as pas de bordure.
Voila mon petit soucis,
Je cherche par une fonction (un sub hein ^^) VBA a copier le style d'une cellule par rapport a une autre.
Le problème est que je n'arrive pas a accédé a la fonction a la valeur Value de mon border.
Ceux qui normalement permet d'afficher les bordures ou non.
La je n'ai rien qui passe.
Public Sub CopieStyle(ByVal Cible As Range, ByVal Origine As Range)
Dim DefBorder(0 To 5) As integer
DefBorder(0) = xlEdgeBottom
DefBorder(1) = xlEdgeLeft
DefBorder(2) = xlEdgeTop
DefBorder(3) = xlEdgeRight
DefBorder(4) = xlInsideHorizontal
DefBorder(5) = xlInsideVertical
With Cible
For i = 0 To 5
With .Borders(DefBorder(i))
.Color = Origine.Borders(DefBorder(i)).Color
.LineStyle = Origine.Borders(DefBorder(i)).LineStyle
.Value = Origine.Borders(DefBorder(i)).Value '<------ Ligne a probleme
.Weight = Origine.Borders(DefBorder(i)).Weight
End With
Next i
Si je supprime la ligne .Value je n'est plus d'erreur.
je ne voit pas se qui peut généré cette erreur.
De plus si je ne prend pas cette valeur, les bordures sur la cellules de destinations sont toujours affiché. alors que al cellule d'origine n'as pas de bordure.
A voir également:
- Probleme Borders.Value excel 2010
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Clé activation office 2010 gratuit - Télécharger - Sécurité
2 réponses
Bonjour,
Normal, .value n'est pas une propriété de Border.
Ce qui est étrange c'est que Origine.Borders(DefBorder(i)).Weight reste à 2 même si on lui enlève tout encadrement.
Ce qui fait que l'encadrement est bien enlevé mais remis sur cette ligne de code.
remplace par :
If Origine.Borders(DefBorder(i)).LineStyle <> xlNone Then .Weight = Origine.Borders(DefBorder(i)).Weight
Par contre tu plantes si la sélection fait 1 ligne ou 1 colonne.
Tu devrais tester largeur et hauteur de la sélection avant de modifier xlInsideHorizontal et xlInsideVertical.
eric
Normal, .value n'est pas une propriété de Border.
Ce qui est étrange c'est que Origine.Borders(DefBorder(i)).Weight reste à 2 même si on lui enlève tout encadrement.
Ce qui fait que l'encadrement est bien enlevé mais remis sur cette ligne de code.
remplace par :
If Origine.Borders(DefBorder(i)).LineStyle <> xlNone Then .Weight = Origine.Borders(DefBorder(i)).Weight
Par contre tu plantes si la sélection fait 1 ligne ou 1 colonne.
Tu devrais tester largeur et hauteur de la sélection avant de modifier xlInsideHorizontal et xlInsideVertical.
eric
Je te remercie pour ta réponse.
J'ai finalement résolu le problème :D
J'ai changé l'ordre des appels :
Le Weight ne redéfini plus le LineStyle, Les bordures ne sont donc plus affiché ^^
Et pour les lignes intérieurs je les ai enlevé et remplacé par les barre diagonal.
(je verrais pour évoluer ma fonction plus tard)
Merci pour ton aide.
J'ai finalement résolu le problème :D
J'ai changé l'ordre des appels :
.Weight = Origine.Borders(DefBorder(i)).Weight .Color = Origine.Borders(DefBorder(i)).Color .LineStyle = Origine.Borders(DefBorder(i)).LineStyle
Le Weight ne redéfini plus le LineStyle, Les bordures ne sont donc plus affiché ^^
Et pour les lignes intérieurs je les ai enlevé et remplacé par les barre diagonal.
(je verrais pour évoluer ma fonction plus tard)
Merci pour ton aide.