Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Pb de déclaration / propriétés

  • Initiateur de la discussion Initiateur de la discussion nicola40
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

nicola40

Guest
Bonjour à tous en ce beau samedi matin,

je rencontre une difficulté sur le code suivant, car il génère une erreur de compilation sur le terme en rouge gras et je ne comprend pas pourquoi 😡
Par contre pas d'erreur sur le terme vert (pourtant similaire)😕

Les débuts (et les suites) sont difficiles !!
Je dois encore faire une erreur de débutant sur l'utilisation des propriétés ou la définition des variables.

Merci d'avance pour vos remarques !

Sub test()
Dim range_tcd, range_pla, cel_tcd, cel_pla As Range
Dim derlig_tcd, derlig_pla As Integer
Dim s_tcd, s_pla As Sheets

Set s_tcd = Sheets("Of ouverts")
Set s_pla = Sheets("Planning")

derlig_tcd = s_tcd.Range("a65536").End(xlUp).Row
If derlig_tcd < 13 Then derlig_tcd = 13
range_tcd = s_tcd.Range("A13:A" & derlig_tcd)

derlig_pla = s_pla.Range("b65536").End(xlUp).Row
If derlig_pla < 13 Then derlig_pla = 13
range_pla = s_pla.Range("A13:A" & derlig_pla)

For Each cel_tcd In range_tcd
lg_cel_tcd = cel_tcd.Row
y = cel_tcd.Value
z = Application.Match(y, range_pla, 0)
' ........
Next cel_tcd

End Sub
 
Re : Pb de déclaration / propriétés

Salut Nicola40,

je rencontre une difficulté sur le code suivant, car il génère une erreur de compilation sur le terme en rouge gras et je ne comprend pas pourquoi
Par contre pas d'erreur sur le terme vert (pourtant similaire)
Et bien non justement !
"S_tcd" est déclaré en variante puisque tu n'as pas de "As ..."
"s_pla" est déclaré en Sheets au lieu de Worksheet

Penses à toujour sutiliser "Option Explicit" dans tes modules

Cela te permet de trouver les erreurs 😉

Code:
Option Explicit
Sub test()
  Dim range_tcd As Range, range_pla As Range, cel_tcd As Range, cel_pla As Range
  Dim derlig_tcd As Long, derlig_pla As Long, lg_cel_tcd As Long
  Dim s_tcd As Worksheet, s_pla As Worksheet
  Dim Y, Z
  Set s_tcd = Sheets("Of ouverts")
  Set s_pla = Sheets("Planning")
  derlig_tcd = s_tcd.Range("a65536").End(xlUp).Row
  If derlig_tcd < 13 Then derlig_tcd = 13
  range_tcd = s_tcd.Range("A13:A" & derlig_tcd)
  derlig_pla = s_pla.Range("b65536").End(xlUp).Row
  If derlig_pla < 13 Then derlig_pla = 13
  range_pla = s_pla.Range("A13:A" & derlig_pla)
  For Each cel_tcd In range_tcd
    lg_cel_tcd = cel_tcd.Row
    Y = cel_tcd.Value
    Z = Application.Match(Y, range_pla, 0)
    ' ........
  Next cel_tcd
End Sub

La définition du type de variable "As ...." ce fait à chaque variable
et non à la fin de la ligne (du moins pas à ma connaisance)

A+
 
Dernière modification par un modérateur:
Re : Pb de déclaration / propriétés

Re,

Désolé 😱 j'ai changé ma réponse lrsque j'ai copié ton code dans un module
J'ai tout de suite compris 😉

Donc voir nouvelle réponse plus haut

A+
 
Re : Pb de déclaration / propriétés




Merci je regarde tout de suite.
 
Re : Pb de déclaration / propriétés

Merci encore pour ton aide.


Par contre j'ai encore d'autres pb visiblement.

Je retravaille le sujet et je remets un fichier test modifié.

merci encore et bon WE à tous
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

L
Réponses
1
Affichages
1 K
Lucien31
L
A
Réponses
48
Affichages
6 K
Ananas94
A
M
Réponses
5
Affichages
2 K
M
L
Réponses
2
Affichages
709
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…