Bonjour à tous,
J'ai tenté d'utiliser l'information ci-dessous mais je n'ai pas réussi à la
faire fonctionner dans une fonction qui recoit MaPlage en argument ByRef
...oups!!!
Peut-on réellement opérer de cette manière ?
Merci d'avance de votre réponse
Columns / Rows
Renvoie la collection de toutes les colonnes / lignes contenues dans la
plage. Cela peut permettre certains
raccourcis de programmation intéressant. Par exemple :
MaPlage.Columns(2).Value=""
Efface le contenu de toutes les cellules de la colonne 2 dans la plage.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
bonjour rick,
pour une fonction ce n'est pas possible car la fonction ne peut modifier d'autre cellules, elle ne fait que retourner une valeur. mais c'est possible dans une macro.
isabelle
Bonjour à tous, J'ai tenté d'utiliser l'information ci-dessous mais je n'ai pas réussi à la faire fonctionner dans une fonction qui recoit MaPlage en argument ByRef ...oups!!! Peut-on réellement opérer de cette manière ? Merci d'avance de votre réponse
Columns / Rows
Renvoie la collection de toutes les colonnes / lignes contenues dans la plage. Cela peut permettre certains
raccourcis de programmation intéressant. Par exemple :
MaPlage.Columns(2).Value=""
Efface le contenu de toutes les cellules de la colonne 2 dans la plage.
bonjour rick,
pour une fonction ce n'est pas possible car la fonction ne peut modifier d'autre cellules,
elle ne fait que retourner une valeur.
mais c'est possible dans une macro.
isabelle
Bonjour à tous,
J'ai tenté d'utiliser l'information ci-dessous mais je n'ai pas réussi à la
faire fonctionner dans une fonction qui recoit MaPlage en argument ByRef
...oups!!!
Peut-on réellement opérer de cette manière ?
Merci d'avance de votre réponse
Columns / Rows
Renvoie la collection de toutes les colonnes / lignes contenues dans la
plage. Cela peut permettre certains
raccourcis de programmation intéressant. Par exemple :
MaPlage.Columns(2).Value=""
Efface le contenu de toutes les cellules de la colonne 2 dans la plage.
pour une fonction ce n'est pas possible car la fonction ne peut modifier d'autre cellules, elle ne fait que retourner une valeur. mais c'est possible dans une macro.
isabelle
Bonjour à tous, J'ai tenté d'utiliser l'information ci-dessous mais je n'ai pas réussi à la faire fonctionner dans une fonction qui recoit MaPlage en argument ByRef ...oups!!! Peut-on réellement opérer de cette manière ? Merci d'avance de votre réponse
Columns / Rows
Renvoie la collection de toutes les colonnes / lignes contenues dans la plage. Cela peut permettre certains
raccourcis de programmation intéressant. Par exemple :
MaPlage.Columns(2).Value=""
Efface le contenu de toutes les cellules de la colonne 2 dans la plage.
valentin
Bonsoir, Peut être une réponse , voir exemple ci - dessous :
' création de la fonction Function Nettoyer(ByRef objPlage As Range) As Boolean On Error GoTo Message objPlage.Columns(2).Value = "" Nettoyer = True Exit Function Message: MsgBox Err.Description Nettoyer = False
End Function
' essai de la fonction Sub test() Dim temoin As Boolean Dim LaPlage As Range Set LaPlage = ActiveSheet.Range("maplage") temoin = Nettoyer(LaPlage) MsgBox "fin" end Sub
Bonne soirée Valentin
"isabelle" a écrit dans le message de news:
bonjour rick,
pour une fonction ce n'est pas possible car la fonction ne peut modifier d'autre cellules, elle ne fait que retourner une valeur. mais c'est possible dans une macro.
isabelle
Bonjour à tous, J'ai tenté d'utiliser l'information ci-dessous mais je n'ai pas réussi à la faire fonctionner dans une fonction qui recoit MaPlage en argument ByRef ...oups!!! Peut-on réellement opérer de cette manière ? Merci d'avance de votre réponse
Columns / Rows
Renvoie la collection de toutes les colonnes / lignes contenues dans la plage. Cela peut permettre certains
raccourcis de programmation intéressant. Par exemple :
MaPlage.Columns(2).Value=""
Efface le contenu de toutes les cellules de la colonne 2 dans la plage.
Bonsoir,
Peut être une réponse , voir exemple ci - dessous :
' création de la fonction
Function Nettoyer(ByRef objPlage As Range) As Boolean
On Error GoTo Message
objPlage.Columns(2).Value = ""
Nettoyer = True
Exit Function
Message:
MsgBox Err.Description
Nettoyer = False
End Function
' essai de la fonction
Sub test()
Dim temoin As Boolean
Dim LaPlage As Range
Set LaPlage = ActiveSheet.Range("maplage")
temoin = Nettoyer(LaPlage)
MsgBox "fin"
end Sub
Bonne soirée
Valentin
"isabelle" <i@v> a écrit dans le message de
news:eWCHvGzbIHA.1212@TK2MSFTNGP05.phx.gbl...
bonjour rick,
pour une fonction ce n'est pas possible car la fonction ne peut modifier
d'autre cellules,
elle ne fait que retourner une valeur.
mais c'est possible dans une macro.
isabelle
Bonjour à tous,
J'ai tenté d'utiliser l'information ci-dessous mais je n'ai pas réussi à
la faire fonctionner dans une fonction qui recoit MaPlage en argument
ByRef ...oups!!!
Peut-on réellement opérer de cette manière ?
Merci d'avance de votre réponse
Columns / Rows
Renvoie la collection de toutes les colonnes / lignes contenues dans la
plage. Cela peut permettre certains
raccourcis de programmation intéressant. Par exemple :
MaPlage.Columns(2).Value=""
Efface le contenu de toutes les cellules de la colonne 2 dans la plage.
Bonsoir, Peut être une réponse , voir exemple ci - dessous :
' création de la fonction Function Nettoyer(ByRef objPlage As Range) As Boolean On Error GoTo Message objPlage.Columns(2).Value = "" Nettoyer = True Exit Function Message: MsgBox Err.Description Nettoyer = False
End Function
' essai de la fonction Sub test() Dim temoin As Boolean Dim LaPlage As Range Set LaPlage = ActiveSheet.Range("maplage") temoin = Nettoyer(LaPlage) MsgBox "fin" end Sub
Bonne soirée Valentin
"isabelle" a écrit dans le message de news:
bonjour rick,
pour une fonction ce n'est pas possible car la fonction ne peut modifier d'autre cellules, elle ne fait que retourner une valeur. mais c'est possible dans une macro.
isabelle
Bonjour à tous, J'ai tenté d'utiliser l'information ci-dessous mais je n'ai pas réussi à la faire fonctionner dans une fonction qui recoit MaPlage en argument ByRef ...oups!!! Peut-on réellement opérer de cette manière ? Merci d'avance de votre réponse
Columns / Rows
Renvoie la collection de toutes les colonnes / lignes contenues dans la plage. Cela peut permettre certains
raccourcis de programmation intéressant. Par exemple :
MaPlage.Columns(2).Value=""
Efface le contenu de toutes les cellules de la colonne 2 dans la plage.
rick22560
Bonjour, merci pour vos réponses, mais je ne m'explique pas bien pourquoi la modification de la plage n'est pas possible directement par l'appel de la fonction depuis la feuille de calcul ...? mystère !!!!
grâce à vous j'ai mis en place la solution suivante qui me permet de "paramétrer" la plage à effacer :
Function Nettoyer(objPlage) As Boolean On Error GoTo fin Dim LaPlage As Range Set LaPlage = ActiveSheet.Range(objPlage) LaPlage.Columns(1).Value = "" Nettoyer = True fin: End Function
et l'appel se fait par :
Private Sub Worksheet_Change(ByVal Target As Range) ' Procédure évènement ' La cellule L2C10 contient le nom de la plage à traiter If Target.AddressLocal(, , xlR1C1) = "L2C10" Then temoin = Nettoyer(Target) End If End Sub
A l'origine je souhaitais écrire dans la cellule L2C10 la formule suivante "=Nettoyer(UnePlage)" maintenant il me suffit d'écrire dans la même cellule "UnePlage" et le tour est joué !
Merci encore de votre aide
rick
"valentin" a écrit dans le message de news: 47b487b8$0$17693$
Bonsoir, Peut être une réponse , voir exemple ci - dessous :
' création de la fonction Function Nettoyer(ByRef objPlage As Range) As Boolean On Error GoTo Message objPlage.Columns(2).Value = "" Nettoyer = True Exit Function Message: MsgBox Err.Description Nettoyer = False
End Function
' essai de la fonction Sub test() Dim temoin As Boolean Dim LaPlage As Range Set LaPlage = ActiveSheet.Range("maplage") temoin = Nettoyer(LaPlage) MsgBox "fin" end Sub
Bonne soirée Valentin
"isabelle" a écrit dans le message de news:
bonjour rick,
pour une fonction ce n'est pas possible car la fonction ne peut modifier d'autre cellules, elle ne fait que retourner une valeur. mais c'est possible dans une macro.
isabelle
Bonjour à tous, J'ai tenté d'utiliser l'information ci-dessous mais je n'ai pas réussi à la faire fonctionner dans une fonction qui recoit MaPlage en argument ByRef ...oups!!! Peut-on réellement opérer de cette manière ? Merci d'avance de votre réponse
Columns / Rows
Renvoie la collection de toutes les colonnes / lignes contenues dans la plage. Cela peut permettre certains
raccourcis de programmation intéressant. Par exemple :
MaPlage.Columns(2).Value=""
Efface le contenu de toutes les cellules de la colonne 2 dans la plage.
Bonjour,
merci pour vos réponses, mais je ne m'explique pas bien pourquoi la
modification de la plage n'est pas possible directement par l'appel de la
fonction depuis la feuille de calcul ...? mystère !!!!
grâce à vous j'ai mis en place la solution suivante qui me permet de
"paramétrer" la plage à effacer :
Function Nettoyer(objPlage) As Boolean
On Error GoTo fin
Dim LaPlage As Range
Set LaPlage = ActiveSheet.Range(objPlage)
LaPlage.Columns(1).Value = ""
Nettoyer = True
fin: End Function
et l'appel se fait par :
Private Sub Worksheet_Change(ByVal Target As Range) ' Procédure évènement
' La cellule L2C10 contient le nom de la plage à traiter
If Target.AddressLocal(, , xlR1C1) = "L2C10" Then
temoin = Nettoyer(Target)
End If
End Sub
A l'origine je souhaitais écrire dans la cellule L2C10 la formule suivante
"=Nettoyer(UnePlage)" maintenant il me suffit d'écrire dans la même cellule
"UnePlage" et le tour est joué !
Merci encore de votre aide
rick
"valentin" <info.vb@free.fr> a écrit dans le message de news:
47b487b8$0$17693$426a74cc@news.free.fr...
Bonsoir,
Peut être une réponse , voir exemple ci - dessous :
' création de la fonction
Function Nettoyer(ByRef objPlage As Range) As Boolean
On Error GoTo Message
objPlage.Columns(2).Value = ""
Nettoyer = True
Exit Function
Message:
MsgBox Err.Description
Nettoyer = False
End Function
' essai de la fonction
Sub test()
Dim temoin As Boolean
Dim LaPlage As Range
Set LaPlage = ActiveSheet.Range("maplage")
temoin = Nettoyer(LaPlage)
MsgBox "fin"
end Sub
Bonne soirée
Valentin
"isabelle" <i@v> a écrit dans le message de
news:eWCHvGzbIHA.1212@TK2MSFTNGP05.phx.gbl...
bonjour rick,
pour une fonction ce n'est pas possible car la fonction ne peut modifier
d'autre cellules,
elle ne fait que retourner une valeur.
mais c'est possible dans une macro.
isabelle
Bonjour à tous,
J'ai tenté d'utiliser l'information ci-dessous mais je n'ai pas réussi à
la faire fonctionner dans une fonction qui recoit MaPlage en argument
ByRef ...oups!!!
Peut-on réellement opérer de cette manière ?
Merci d'avance de votre réponse
Columns / Rows
Renvoie la collection de toutes les colonnes / lignes contenues dans la
plage. Cela peut permettre certains
raccourcis de programmation intéressant. Par exemple :
MaPlage.Columns(2).Value=""
Efface le contenu de toutes les cellules de la colonne 2 dans la plage.
Bonjour, merci pour vos réponses, mais je ne m'explique pas bien pourquoi la modification de la plage n'est pas possible directement par l'appel de la fonction depuis la feuille de calcul ...? mystère !!!!
grâce à vous j'ai mis en place la solution suivante qui me permet de "paramétrer" la plage à effacer :
Function Nettoyer(objPlage) As Boolean On Error GoTo fin Dim LaPlage As Range Set LaPlage = ActiveSheet.Range(objPlage) LaPlage.Columns(1).Value = "" Nettoyer = True fin: End Function
et l'appel se fait par :
Private Sub Worksheet_Change(ByVal Target As Range) ' Procédure évènement ' La cellule L2C10 contient le nom de la plage à traiter If Target.AddressLocal(, , xlR1C1) = "L2C10" Then temoin = Nettoyer(Target) End If End Sub
A l'origine je souhaitais écrire dans la cellule L2C10 la formule suivante "=Nettoyer(UnePlage)" maintenant il me suffit d'écrire dans la même cellule "UnePlage" et le tour est joué !
Merci encore de votre aide
rick
"valentin" a écrit dans le message de news: 47b487b8$0$17693$
Bonsoir, Peut être une réponse , voir exemple ci - dessous :
' création de la fonction Function Nettoyer(ByRef objPlage As Range) As Boolean On Error GoTo Message objPlage.Columns(2).Value = "" Nettoyer = True Exit Function Message: MsgBox Err.Description Nettoyer = False
End Function
' essai de la fonction Sub test() Dim temoin As Boolean Dim LaPlage As Range Set LaPlage = ActiveSheet.Range("maplage") temoin = Nettoyer(LaPlage) MsgBox "fin" end Sub
Bonne soirée Valentin
"isabelle" a écrit dans le message de news:
bonjour rick,
pour une fonction ce n'est pas possible car la fonction ne peut modifier d'autre cellules, elle ne fait que retourner une valeur. mais c'est possible dans une macro.
isabelle
Bonjour à tous, J'ai tenté d'utiliser l'information ci-dessous mais je n'ai pas réussi à la faire fonctionner dans une fonction qui recoit MaPlage en argument ByRef ...oups!!! Peut-on réellement opérer de cette manière ? Merci d'avance de votre réponse
Columns / Rows
Renvoie la collection de toutes les colonnes / lignes contenues dans la plage. Cela peut permettre certains
raccourcis de programmation intéressant. Par exemple :
MaPlage.Columns(2).Value=""
Efface le contenu de toutes les cellules de la colonne 2 dans la plage.