Pb bordure tableau Excel 2003 2007

Bonjour tout le monde,

J'ai un fichier concu sur excel 2007 que j'utilise au travail sur excel 2003. Il se compose de creation de tableau avec tracage de bordure automatique.

Sur excel 2007, mon code fonctionne parfaitement. Par contre sur excel 2003, j'ai toujours un message d'erreur.

Voici mon code:

       Lgn = Sheets("Base de données").Range("C" & Rows.Count).End(xlUp).Row
For i = 1 To 4 ' Permet au code Borders ci dessous de mettre une bordure sur les 4 cotés.
        Sheets("Base de données").Range("C4:I" & Lgn).Borders(i).Weight = xlThin    
Next i

En surbrillance, le code en erreur.

Le message d'erreur est:

'erreur d'execution "1004"'

Impossible de définir la propriété weight de la classe border.

Pouvez vous me donner une astuce pour que ce code passe partout?

Merci d'avance.

Bonjour

Testé avec XL 2003 et pas de souci

Essayes ce code

Sub test()
  Lgn = Sheets("Base de données").Range("C" & Rows.Count).End(xlUp).Row
'For i = 1 To 4 ' Permet au code Borders ci dessous de mettre une bordure sur les 4 cotés.
  Sheets("Base de données").Range("C4:I" & Lgn).Borders.Weight = xlThin
'Next i
End Sub

Bonjour Banzai64,

C'est bizare, je ne comprends pas, chez moi ca ne fonctionne pas!! mais qu'en excel 2003!!

Je vais chercher encore!!

Merci à toi.

Bonjour,

Je reviens vers vous car je ne trouve vraiment pas d'ou vient mon problème.

Pouvez voir dans mon fichier si vous voyez une erreur?

Je prends un exemple, taper A15 dans le premier champs tout en haut puis faite entré.

Double cliquer sur n'importe quel ligne et ensuite cliquer sur le bouton en bas a droite "ajouter au listing"

A ce moment, j'ai l'erreur en question.

Pouvez vous m'aider?

Merci d'avance.

EDIT: Avec le fichier c ira mieux!!!

Bonjour

cos81 a écrit :

Avec le fichier c ira mieux!!!

C'est sur mais avec un mode d'emploi valable cela serait encore mieux
cos81 a écrit :

taper A15 dans le premier champs tout en haut puis faite entré.

Où ça ?

J'ai essayé de taper A15 dans D8 puis "Entrée"

Double clic sur une ligne --> userform qui arrive

Mais où est le bouton "ajouter au listing" ?

Donc en cherchant : Clic sur le bouton "Recherche participant" --> Userform --> dans Textbox Nom écrire A15 (par exemple) et miracle le bouton "ajouter au listing" est bien présent

Clic dessus plantage

Donc avec cette méthode je n'aurais pas perdu du temps pour chercher et pour écrire ce message

J'ai trouvé une méthode qui semble fonctionner d'après mes tests

A tester

Bonjour,

Toute mes excuses. Il est vrai que ce n'etait pas simple a trouver!!

Je l'ai fait tellement de fois que ca m'a échapé!!

Merci beaucoup, ca a l'air de marcher à la perfection!!

Je vais abuser encore un peu si tu veux bien.

Je cherche une procédure qui me permette de faire une sorte de RecherchV entre textbox.

Par exemple dans mes fenetres de saisies, quand j'entre un CP il recherche dans ma base de données et automatiquement si ce cp existe déja, mon textbox ville se rempli.

Merci encore.

Bonjour

Je t'ai fait celui dans l'userform "Recherche_Participant"

A vérifier

Super, merci beaucoup Banzai64, c'est exactement ça!!

Juste une dérnière question par rapport a la première demande!!

Pourquoi ces deux ligne regles mon problème??

Sheets(2).Range("C8:J" & Lgn).Borders.LineStyle = xlContinuous
        Sheets(2).Range("C8:J" & Lgn).Borders.LineStyle = xlNone

Merci

Bonjour

cos81 a écrit :

Pourquoi ces deux ligne regles mon problème??

Parce que ce n'est pas ce que je t'ai proposé

Je ne comprends pas ta réponse!!

Tu as bien changé la partie du code ou il y a les deux lignes que j'ai cité au dessus!!

Non?

Bonjour

Voilà ce que je t'ai proposé

dans la macro "Cmdbtn_Ajouter_Click" de l'Userform "Recherche_Participant"

Lgn = Sheets(2).Range("D" & Rows.Count).End(xlUp).Row
'For i = 1 To 4 ' Permet au code Borders ci dessous de mettre une bordure sur les 4 cotés.
        Sheets(2).Range("C8:J" & Lgn).Borders.LineStyle = xlLineStyleNone
        Sheets(2).Range("C8:J" & Lgn).Borders.LineStyle = xlDot
        Sheets(2).Range("C8:j" & Lgn).Borders.Weight = xlThin

        Sheets(2).Range("L8:M" & Lgn).Borders.LineStyle = xlLineStyleNone
        Sheets(2).Range("L8:M" & Lgn).Borders.LineStyle = xlDot
        Sheets(2).Range("L8:M" & Lgn).Borders.Weight = xlThin
    'Next i

Oui, c'est bien ce que j'avais compris!

C'est pour ça que j'ai coller un morceau de ton code! Il n'y a pas grand chose qui change par rapport au code que j'avais!

À part que le tien fonctionne bien sûre!

En fait ma question était de savoir pourquoi ton code fonctionne et pas le miens?

Et pourquoi on met donc deux fois ces la propriété borders.linestyle?, d'où le morceau de code que j'avais collé!

Sheets(2).Range("C8:J" & Lgn).Borders.LineStyle = xlContinuous
        Sheets(2).Range("C8:J" & Lgn).Borders.LineStyle = xlNone
 

J'espère avoir été plus clair.

Merci.

Bonjour

cos81 a écrit :

pourquoi ton code fonctionne et pas le miens?

Mystère de l'informatique ( je n'en sais pas plus)

cos81 a écrit :

deux fois ces la propriété borders.linestyle?

On efface d’abord les bordures ensuite on les crée (pas obligatoire) tu peux essayer sans la création

Tout ce qui compte c'est que cela fonctionne

Oui je suis entièrement d'accord avec toi mais j'aime bien comprendre les choses.

C'est pas la première fois que tu me viens en aide!! Mais ça commence à porter ces fruits!!

En tout cas, je te remercie pour tous!

Bonne continuation.

Rechercher des sujets similaires à "bordure tableau 2003 2007"