Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA] comment passer la selection en argument de Sub

6 réponses
Avatar
Fab
Bonjour,

je n'arrive pas à passer la selection dans une procédure pour faire de la
mise en forme!!

voici ma source :
.....
Selection = Mission
MiseEnFormeTitreMission (Selection) ' Appel de la procedure
Selection.Offset(1, 0).Select
....

'Procedure de mise en forme d'une cellule
Sub MiseEnFormeTitreMission(ByVal Cell_Titre As Range)
With Cell_Titre
.RowHeight = 18
With .Font
.Bold = True
.Name = "Arial"
.Size = 14
End With
end sub

=> Message erreur lors de l'appel : err 424 : Objet requis

merci d'avance

6 réponses

Avatar
Oliv'
*Fab que je salut a écrit *:
Bonjour,

je n'arrive pas à passer la selection dans une procédure pour faire
de la mise en forme!!

voici ma source :
.....
Selection = Mission
MiseEnFormeTitreMission (Selection) ' Appel de la procedure
Selection.Offset(1, 0).Select
....

'Procedure de mise en forme d'une cellule
Sub MiseEnFormeTitreMission(ByVal Cell_Titre As Range)
With Cell_Titre
.RowHeight = 18
With .Font
.Bold = True
.Name = "Arial"
.Size = 14
End With
end sub

=> Message erreur lors de l'appel : err 424 : Objet requis

merci d'avance


c'est quoi mission ? un nom ? une variable ?
tu ne peux pas utiliser selection comme nom de variable c'est un mot réservé

si mission est une variable

MiseEnFormeTitreMission (mission)


--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Avatar
JLuc
Fab avait soumis l'idée :
'Procedure de mise en forme d'une cellule
Sub MiseEnFormeTitreMission(ByVal Cell_Titre As Range)
With Cell_Titre
.RowHeight = 18
With .Font
.Bold = True
.Name = "Arial"
.Size = 14
End With
end sub


Deja, il te manque un End With à la fin

--
JLuc

Avatar
JLuc
Fab avait soumis l'idée :
Bonjour,

je n'arrive pas à passer la selection dans une procédure pour faire de la
mise en forme!!

voici ma source :
.....
Selection = Mission
MiseEnFormeTitreMission (Selection) ' Appel de la procedure
Je dirais (au pifomètre) :

Range("Mission").Select 'Ou Range(Mission).Select si c'est une
variable contenant les adresses
MiseEnFormeTitreMission (Selection)

Selection.Offset(1, 0).Select
....

'Procedure de mise en forme d'une cellule
Sub MiseEnFormeTitreMission(ByVal Cell_Titre As Range)
With Cell_Titre
.RowHeight = 18
With .Font
.Bold = True
.Name = "Arial"
.Size = 14
End With
end sub

=> Message erreur lors de l'appel : err 424 : Objet requis

merci d'avance


--
JLuc

Avatar
Ange Ounis
En dehors du fait qu'il manque un End With dans le code de ta procédure comme
cela t'a été signalé, ton problème est là :

Selection = Mission

La procédure attend un objet Range en paramètre et Selection n'est pas un objet
avec l'affectation Selection = Mission.
Pour renseigner un objet il faut utiliser le mot Set :

Set Selection = Mission

Mais :
- ce n'est pas une bonne idée de donner à une variable un mot réservé du langage
VBA (Selection)
- il faut que Mission soit également un objet Range, ce que rien ne laisse
deviner dans ton code.

----------
Ange Ounis
----------

Bonjour,

je n'arrive pas à passer la selection dans une procédure pour faire de la
mise en forme!!

voici ma source :
......
Selection = Mission
MiseEnFormeTitreMission (Selection) ' Appel de la procedure
Selection.Offset(1, 0).Select
....

'Procedure de mise en forme d'une cellule
Sub MiseEnFormeTitreMission(ByVal Cell_Titre As Range)
With Cell_Titre
.RowHeight = 18
With .Font
.Bold = True
.Name = "Arial"
.Size = 14
End With
end sub

=> Message erreur lors de l'appel : err 424 : Objet requis

merci d'avance






Avatar
MichDenis
En supposant que Mission est une "Plage nommée"

MiseEnFormeTitreMission range("Mission")
range("Mission").offset(1).select

Sub MiseEnFormeTitreMission(ByVal Cell_Titre As Range)
With Cell_Titre
.RowHeight = 18
With .Font
.Bold = True
.Name = "Arial"
.Size = 14
End With
End With
end sub





"Fab" a écrit dans le message de news:

Bonjour,

je n'arrive pas à passer la selection dans une procédure pour faire de la
mise en forme!!

voici ma source :
.....
Selection = Mission
MiseEnFormeTitreMission (Selection) ' Appel de la procedure
Selection.Offset(1, 0).Select
....

'Procedure de mise en forme d'une cellule
Sub MiseEnFormeTitreMission(ByVal Cell_Titre As Range)
With Cell_Titre
.RowHeight = 18
With .Font
.Bold = True
.Name = "Arial"
.Size = 14
End With
end sub

=> Message erreur lors de l'appel : err 424 : Objet requis

merci d'avance
Avatar
Fab
Merci

je mettais MiseEnFormeTitreMission (range("Mission")) au lieu de
MiseEnFormeTitreMission range("Mission")
(pas de parenthèse pour les paramètres à passer sinon ça plante!)

Encore merci à tout le monde


"MichDenis" a écrit dans le message de news:
%23qW3%
En supposant que Mission est une "Plage nommée"

MiseEnFormeTitreMission range("Mission")
range("Mission").offset(1).select

Sub MiseEnFormeTitreMission(ByVal Cell_Titre As Range)
With Cell_Titre
.RowHeight = 18
With .Font
.Bold = True
.Name = "Arial"
.Size = 14
End With
End With
end sub





"Fab" a écrit dans le message de news:

Bonjour,

je n'arrive pas à passer la selection dans une procédure pour faire de la
mise en forme!!

voici ma source :
.....
Selection = Mission
MiseEnFormeTitreMission (Selection) ' Appel de la procedure
Selection.Offset(1, 0).Select
....

'Procedure de mise en forme d'une cellule
Sub MiseEnFormeTitreMission(ByVal Cell_Titre As Range)
With Cell_Titre
.RowHeight = 18
With .Font
.Bold = True
.Name = "Arial"
.Size = 14
End With
end sub

=> Message erreur lors de l'appel : err 424 : Objet requis

merci d'avance