OVH Cloud OVH Cloud

Sélection d'un range

6 réponses
Avatar
ThierryP
Bonjour tout le monde,

J'ai comme qui dirait un petit souci de syntaxe. Ci-dessous un extrait
de ma proc :
If c.Value = Jour Then Cible = c.Address: Exit For
Next
If Selection.SpecialCells(1).Count > 1 Then
Worksheets("Technicien").Range(Cible).EntireRow.Select

Bien sûr, ça coince sur la dernière ligne...Donc j'ai essayé de rajouter
un dim Cible as range pour voir...pas mieux !! Cible reste à nothing
dans le if..

Je patauge un peu sur le coup...
Merci d'avance :-)))))

--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline

6 réponses

Avatar
papou
Bonjour
Dim Cible As String

Cordialement
Pascal

"ThierryP" a écrit dans le message de
news:
Bonjour tout le monde,

J'ai comme qui dirait un petit souci de syntaxe. Ci-dessous un extrait de
ma proc :
If c.Value = Jour Then Cible = c.Address: Exit For
Next
If Selection.SpecialCells(1).Count > 1 Then
Worksheets("Technicien").Range(Cible).EntireRow.Select

Bien sûr, ça coince sur la dernière ligne...Donc j'ai essayé de rajouter
un dim Cible as range pour voir...pas mieux !! Cible reste à nothing dans
le if..

Je patauge un peu sur le coup...
Merci d'avance :-)))))

--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline


Avatar
ThierryP
Merci beaucoup !!!

Juste en passant, je pensais que VBA se débrouillait de manière
implicite ???

Bonjour
Dim Cible As String

Cordialement
Pascal

"ThierryP" a écrit dans le message de
news:
Bonjour tout le monde,

J'ai comme qui dirait un petit souci de syntaxe. Ci-dessous un extrait de
ma proc :
If c.Value = Jour Then Cible = c.Address: Exit For
Next
If Selection.SpecialCells(1).Count > 1 Then
Worksheets("Technicien").Range(Cible).EntireRow.Select

Bien sûr, ça coince sur la dernière ligne...Donc j'ai essayé de rajouter
un dim Cible as range pour voir...pas mieux !! Cible reste à nothing dans
le if..

Je patauge un peu sur le coup...
Merci d'avance :-)))))

--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline




Avatar
anonymousA
Bonjour,

comme je suppose que tu n'es pas sur la feuille "Technicien", si tu
veux selectionner, il te faut d'abord activer, autrement tu peux
toujours utiliser Application.Goto.

Worksheets("Technicien").Activate

A+
Avatar
ThierryP
Euh!!! Comment fais-tu pour répondre à une question que je n'ai encore
pas posée ?? :-)))))

C'est exactement ce qu'il me fallait !!
Merci :-))))))

Bonjour,

comme je suppose que tu n'es pas sur la feuille "Technicien", si tu
veux selectionner, il te faut d'abord activer, autrement tu peux
toujours utiliser Application.Goto.

Worksheets("Technicien").Activate

A+



--


@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline

Avatar
papou
Re
Si tu avais simplement déclaré
Dim Cible
effectivement VBA se serait débrouillé sans problème !
Par contre en déclarant Cible en tant que Range tu provoques une erreur
puisque tu affectes à Cible un type String avec ta ligne
cible = c.Address
Si tu avais voulu conserver ta déclaration de Cible en Range il aurait fallu
modifier ton code :
For Each c In Selection.Cells
If c.Value = jour Then Set cible = Range(c.Address): Exit For
Next c
cible.EntireRow.Select

Cordialement
Pascal

"ThierryP" a écrit dans le message de
news:
Merci beaucoup !!!

Juste en passant, je pensais que VBA se débrouillait de manière implicite
???

Bonjour
Dim Cible As String

Cordialement
Pascal

"ThierryP" a écrit dans le message de
news:
Bonjour tout le monde,

J'ai comme qui dirait un petit souci de syntaxe. Ci-dessous un extrait
de ma proc :
If c.Value = Jour Then Cible = c.Address: Exit For
Next
If Selection.SpecialCells(1).Count > 1 Then
Worksheets("Technicien").Range(Cible).EntireRow.Select

Bien sûr, ça coince sur la dernière ligne...Donc j'ai essayé de rajouter
un dim Cible as range pour voir...pas mieux !! Cible reste à nothing
dans le if..

Je patauge un peu sur le coup...
Merci d'avance :-)))))

--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline






Avatar
ThierryP
Encore merci pour tes explications :-)))))

Re
Si tu avais simplement déclaré
Dim Cible
effectivement VBA se serait débrouillé sans problème !
Par contre en déclarant Cible en tant que Range tu provoques une erreur
puisque tu affectes à Cible un type String avec ta ligne
cible = c.Address
Si tu avais voulu conserver ta déclaration de Cible en Range il aurait fallu
modifier ton code :
For Each c In Selection.Cells
If c.Value = jour Then Set cible = Range(c.Address): Exit For
Next c
cible.EntireRow.Select



--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline