Probleme Borders.Value excel 2010
Résolu
silerys
Messages postés
116
Date d'inscription
Statut
Membre
Dernière intervention
-
silerys Messages postés 116 Date d'inscription Statut Membre Dernière intervention -
silerys Messages postés 116 Date d'inscription Statut Membre Dernière intervention -
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
- Clé activation office 2010 gratuit - Télécharger - Sécurité
- Si ou excel - Guide
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.