Code de bordure a modifier

bonjour a vous tous

j'ai ce code

Option Explicit

Private Sub CommandButton1_Click()
Unload Me
Call bordure
End Sub
Sub bordure()
Dim L As Long, I As Byte
 With Sheets("Feuil1")
   L = Application.Max(.[A65536].End(xlUp).Row, 12)
   With .Range("A19:J" & L)
     For I = 7 To 10
       .Borders(I).Weight = xlMedium
     Next
     .Offset(, 2).Resize(, 8).Borders(xlInsideVertical).Weight = xlMedium
     Union(.Columns("D:G"), .Columns("I:J")).VerticalAlignment = xlCenter
   End With
   .Range("A" & L + 1 & ":J" & .Rows.Count).Clear 'RAZ sous le tableau
 End With

End Sub

qui fonctionne très pour le fichier auquel il est destiné, mais je voudrais l'importer dans un autre et qu'il soit appliqué sur d'autres cellules mais a partir de la même ligne que sur l'essai

trêve de parole voici le fichier https://www.cjoint.com/c/CHjiX54pxpT

Pascal

Bonjour

Cela te convient-il ?

22essai-bordures.xlsm (26.70 Ko)

bonjour Gmb

merci pour cet essai mais dans le fichier que j'ai joint, dans le haut de la feuille il y avait des bordures commençant à la col C jusque M puis de O jusque P c'est justement cet ordre et disposition mais commencant a la ligne 19, que je veux, le code sera mis dans un module et sera appeler par un autre code, pas besoin de listbox ou autre , le bouton que j'ai mis représente le code qui appelle la sub(pour moi)

Pascal

Bonjour

Désolé j'avais mal compris.

Essaie de remplacer par ce code :

Sub bordure()
    Dim L As Long, I As Byte
    With Sheets("Feuil1")
        With .Range("C3:M3,O3:P3")
            For I = 7 To 10
                .Borders(I).Weight = xlMedium
            Next I
        End With
    End With
End Sub

bonjour Gmb

il n'y a pas de quoi être désolé

bon c'est pas tout a fait cela car le code ne réagit pas comme l'autre, mais il est vrai que je n'en ai pas parler

essai d'écrire en col A sur quelques lignes et tu clic sur le bouton et je voudrais la même chose mais pas au même endroits mais comme la présentation des bordures au dessus du bouton

ce code sert a mettre des bordures a des lignes écrites et peu importe le nombre

une fois fini d'écrire les lignes il y a un code qui mets le bas de page mais il faut que les colonnes soit également bordés en même temps comme l'exemple commençant a C, je sais que je peux mettre les bordures à chaque ligne écrites mais ces lignes arrivent en paquet de 10 a 30 lignes en même temps

Pascal

Re

Alors là, je ne comprends plus.

Si je fais ce que tu me dis et que j'écris en colonne A (cellules A2,A3,A4...) et que je clique sur ton bouton "CommandButton1", il ne se passe rien.

Je crois que le mieux serait que tu envoie un fichier avec 2 feuilles. Sur la premières des données quelconques et sur la deuxième les mêmes données telles que tu les voudrais.

A te lire

bonjour Gmb

il y a quelque chose que je comprends, quand j'extrais le code çà ne fonctionne plus, je n'avais pas contrôlé avant de le posté

je reviens si je peux faire autrement

Pascal

re:

je reviens avec du fonctionnel car il faut, quand il y a des bordures de tracées, les effacées avant pour se rendre compte de l'effet du code

je te remercie par avance

bonjour a vous tous

Personne pour aider Gmb

merci de votre compréhension

Pascal

Bonjour

Tu aurais plus de chance si tu expliquais clairement ce que tu veux

Tu as des bordures dans toutes les pages

On en sait pas ce que tu veux obtenir

Juste un conseil (pas obligatoire)

Dans la première page tu marques ce que tu as

Dans la 2ème page tu marques ce que tu veux

bonjour banzai64

la 1ère page était pour ma 1 ère demande et aussi pour expliquer ce que le code fait actuellement, mais je voudrais que le code soit modifié pour mettre les bordures comme sur la 2ème feuille

si tu supprime les bordures de la 1ère feuille et que tu rajoute ou enlève une ligne écrite tu verra que le code des bordures s'adapte en fonction du nombre de lignes écrites et je voudrais que pour la 2ème feuille le code agisse pareil

j'espère mettre mieux expliqué

Pascal

Edit:

je viens de faire une modification au code qui le fait fonctionner mais je pense que ce n'est pas bien de tracer une ligne et de l'effacer en même temps, je te joint le code,

Private Sub CommandButton1_Click()

Dim L As Long, I As Byte
 With Sheets("Feuil2")
   L = Application.Max(.[c65536].End(xlUp).Row, 19)

   With .Range("C19:p" & L)
     For I = 7 To 10
       .Borders(I).Weight = xlMedium
     Next
     .Offset(, 5).Resize(, 10).Borders(xlInsideVertical).Weight = xlMedium ' mis 5 a la place de 4

     Union(.Columns("I:M"), .Columns("O:P")).VerticalAlignment = xlCenter
   End With
   .Range("C" & L + 1 & ":P" & .Rows.Count).Clear 'RAZ sous le tableau
   .Range("N19:N" & L).Borders(xlEdgeBottom).LineStyle = xlNone '  bordure  basse supprimée  
 .Range("N19:N" & L).Borders(xlEdgeTop).LineStyle = xlNone '  bordure haute supprimée
 End With

End Sub

Pascal

Bonsoir

Quand je te dis que ce n'est pas clair

En légende de ton fichier tu notes

grisan29 a écrit :

page 1 ok page 2 non pas bon

et maintenant tu dis que c'est comme cela tu veux, c'est à ne rien comprendre

N'essayes pas de le faire par macro, fais un exemple manuellement de ce que tu as et ce que tu veux

bonsoir

En légende de ton fichier tu notes

non ce n'est pas moi qui est écrit cela

Pascal

Bonsoir

Je ne veux pas trop polémiquer mais

grisant29

Ma demande est toujours d'actualité

Banzai64 a écrit :

Juste un conseil (pas obligatoire)

Dans la première page tu marques ce que tu as

Dans la 2ème page tu marques ce que tu veux

bonjour Banzai64

je vais considérer ce post clos car même le code tel que je l'ai fait ne veux pas fonctionner dans le bon fichier

désolé de tous les tracas que je t'ai causé dans ces 2 post

Pascal

Rechercher des sujets similaires à "code bordure modifier"