Bug sur l'application borders.linestyle

Bonjour,

Ma macro s'arrête souvent sur la ligne suivante :

.Borders(xlEdgeBottom).LineStyle = xlContinuous (contenu dans with/end with)

Et je ne comprend vraiment pas pourquoi, car il me semble l'appliquer correctement (comme indiqué dans l'aide). D'autant plus qu'elle fonctionne pour d'autres cellules du même type.

Si quelqu'un peut m'en expliquer la raison..

Merci d'avance

Bonjour,

Pourrais-tu mettre le code complet entre le With et le End with

A te relire

bonjour Dan quickness le forum

cela sent bien le plantage sur les bordures intérieures quand justement tu n'en a pas

donc les paramètres 11 et 12 de mémoire

a+

papou

Voilà

With Range(Cells(j * 4 + 6, 43), Cells(j * 4 + 6, 45))
      .Merge
      .Borders(xlEdgeBottom).LineStyle = xlContinuous
      .HorizontalAlignment = xlCenter
      .VerticalAlignment = xlCenter
      .Value = "Observations"
      .Interior.Color = RGB(0, 114, 0)
End With

ça me l'a fait aussi sur celui là et ça a arrêté :

With Range(Cells(Taille * 4 + 2, 16), Cells(Taille * 4 + 4, 19))
        .Borders(xlEdgeLeft).LineStyle = xlContinuous
        .Borders(xlEdgeLeft).Weight = xlMedium
        .Borders(xlEdgeTop).LineStyle = xlContinuous
        .Borders(xlEdgeTop).Weight = xlMedium
        .Borders(xlEdgeBottom).LineStyle = xlContinuous
        .Borders(xlEdgeBottom).Weight = xlMedium
        .Borders(xlEdgeRight).LineStyle = xlContinuous
        .Borders(xlEdgeRight).Weight = xlMedium
    End With

Bonjour papou,

Si je ne m'abuse le paramètre 11 est value (qui serait synonyme de linestyle) et en remplaçant linestyle par value ça fonctionne...

Bizarre pour un synonyme mais je ne vais pas m'en pleindre ^^

Merci à vous


Rectification,

ça marche pour ce code :

                With Range(Cells(j * 4 + 6, 43), Cells(j * 4 + 6, 45))
                    .Merge
                    .Borders.Value = xlContinuous
                    .HorizontalAlignment = xlCenter
                    .VerticalAlignment = xlCenter
                    .Value = "Observations ONF"
                    .Interior.Color = RGB(0, 114, 0)
                End With

Mais pas pour celui là :

                With Range(Cells(j * 4 + 6, 43), Cells(j * 4 + 8, 45))
                    .Borders(xlEdgeLeft).Value = xlContinuous
                    .Borders(xlEdgeLeft).Weight = xlMedium
                    .Borders(xlEdgeTop).Value = xlContinuous
                    .Borders(xlEdgeTop).Weight = xlMedium
                    .Borders(xlEdgeBottom).Value = xlContinuous
                    .Borders(xlEdgeBottom).Weight = xlMedium
                    .Borders(xlEdgeRight).Value = xlContinuous
                    .Borders(xlEdgeRight).Weight = xlMedium
                End With

Je n'y comprend rien... (ça ne fonctionne pas non plus avec borderaround)

re,

essaie avec XLTHIN au lieu de XLCONTINUOUS

A te relire

Edit Dan : remplace aussi XLCONTINUOUS par le chiffre 1

ça ne fonctionne pas -_-

re,

Tu as vu mon Edit dans le post précédent ??

Je n'avais pas vu mais je l'avais déjà essayer en remplaçant par 1 mais sans succès.

En essayant les deux méthodes (1 et xlthin) le problème demeure toujours

Re,

essaie avec cette ligne :

.Borders(XlBordersIndex.xlEdgeBottom).LineStyle = Excel.XlLineStyle.xlContinuous

Si cela ne va pas essaie en utilisant l'outil enregistreur automatique de macro et en faisant cette opération. Peut être que sous excel 2007, les commandes sont différentes. Il me semble que j'ai déjà eu ce souci autrefois...

Sinon envoie le fichier que l'on regarde.

ça ne marche toujours pas.

Mais en essayant d'enregistrer la macro (même s'il me semble que c'est de cette manière que j'avais découvert ce code au départ) je me suis aperçu que même le changement de propriété de la cellule par la barre d'outil excel elle-même ne fonctionnait pas pour toutes les cellules. C'est peut-être une piste à explorer...

Voici une copie de la feuille, le classeur d'origine est trop volumineux pour être partagé.

25classeur2.zip (32.00 Ko)

re,

Il me semble qu'il y a un bug dans ta feuille. Efface les colonnes depuis AN jusque la fin à droite. Ensuite relance ta macro.

J'ai aussi remarqué :

  • la macro Desactivate, il manque un END IF
  • mes macros Sub recherche() et Sub dérouler() --> doivent se trouver dans un module et non dans la feuille
  • Attention aussi à tes déclarations de variables
Dim i, j, k, l As Integer

Là seul l est en Integer, les autres sont toutes en Variant

Idem en dessous --> Dim taille, taille2 As Integer . taille est en Variant et non en Integer

A te relire pour le bug en question

Bonjour à tous,

oui moi cela ne m'étonne pas, tu sélectionnes et tu fais une cellule fusionnée

après tu ne peux pour cette cellule demander que 1 cellule donc tu plantes normal

je vais maintenant regarder ton fichier

a+

Papou

Rechercher des sujets similaires à "bug application borders linestyle"