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
DanielCo
Bonjour, Je ne comprends pas ce que tu veux faire. Une varaible est par définition un espace mémoire. Est-ce que tu peux donner une exemple de ce que tu veux faire ? Cordidalement. Daniel
Bonjour à tous,
Est-il possible de copier un variable en mémoire dans une macro VBA ? Sans copier la variable dans une cellule Excel et utiliser selection.copy
Merci pour votre aide à tous Al
Bonjour,
Je ne comprends pas ce que tu veux faire. Une varaible est par
définition un espace mémoire. Est-ce que tu peux donner une exemple de
ce que tu veux faire ?
Cordidalement.
Daniel
Bonjour à tous,
Est-il possible de copier un variable en mémoire dans une macro VBA ?
Sans copier la variable dans une cellule Excel et utiliser selection.copy
Bonjour, Je ne comprends pas ce que tu veux faire. Une varaible est par définition un espace mémoire. Est-ce que tu peux donner une exemple de ce que tu veux faire ? Cordidalement. Daniel
Bonjour à tous,
Est-il possible de copier un variable en mémoire dans une macro VBA ? Sans copier la variable dans une cellule Excel et utiliser selection.copy
Merci pour votre aide à tous Al
MichD
Bonjour,
Si tu déclares une variable comme "Public" dans le haut d'un MODULE STANDARD, le contenu de cette variable est disponible dans toutes les procédures, et ce, aussi longtemps que tu n'affecteras pas une autre valeur à cette variable.
Exemple : dans le haut d'un module standard :
Public MaVariable As String OU Long OU Double, selon le type de valeur qu'elle doit contenir
Attention, tu ne dois pas déclarer à l'intérieur d'une procédure la variable avec Dim MaVariable As.... car à ce moment, la valeur de MaVariable PUBLIC ne sera pas disponible.
Cependant, une variable même "Public" n'est valide que pour le classeur en question, on ne peut pas y faire référence dans un autre classeur.
Que veux-tu faire exactement?
MichD --------------------------------------------------------------- "AlfSav69" a écrit dans le message de groupe de discussion :
Bonjour à tous,
Est-il possible de copier un variable en mémoire dans une macro VBA ? Sans copier la variable dans une cellule Excel et utiliser selection.copy
Merci pour votre aide à tous Al
Bonjour,
Si tu déclares une variable comme "Public" dans le haut
d'un MODULE STANDARD, le contenu de cette variable
est disponible dans toutes les procédures, et ce, aussi
longtemps que tu n'affecteras pas une autre valeur à cette
variable.
Exemple : dans le haut d'un module standard :
Public MaVariable As String OU Long OU Double, selon le
type de valeur qu'elle doit contenir
Attention, tu ne dois pas déclarer à l'intérieur d'une procédure
la variable avec Dim MaVariable As.... car à ce moment, la valeur
de MaVariable PUBLIC ne sera pas disponible.
Cependant, une variable même "Public" n'est valide que pour le
classeur en question, on ne peut pas y faire référence dans un
autre classeur.
Que veux-tu faire exactement?
MichD
---------------------------------------------------------------
"AlfSav69" a écrit dans le message de groupe de discussion :
0cc498f5-dd54-4d11-b4db-600252e7ca18@googlegroups.com...
Bonjour à tous,
Est-il possible de copier un variable en mémoire dans une macro VBA ?
Sans copier la variable dans une cellule Excel et utiliser selection.copy
Si tu déclares une variable comme "Public" dans le haut d'un MODULE STANDARD, le contenu de cette variable est disponible dans toutes les procédures, et ce, aussi longtemps que tu n'affecteras pas une autre valeur à cette variable.
Exemple : dans le haut d'un module standard :
Public MaVariable As String OU Long OU Double, selon le type de valeur qu'elle doit contenir
Attention, tu ne dois pas déclarer à l'intérieur d'une procédure la variable avec Dim MaVariable As.... car à ce moment, la valeur de MaVariable PUBLIC ne sera pas disponible.
Cependant, une variable même "Public" n'est valide que pour le classeur en question, on ne peut pas y faire référence dans un autre classeur.
Que veux-tu faire exactement?
MichD --------------------------------------------------------------- "AlfSav69" a écrit dans le message de groupe de discussion :
Bonjour à tous,
Est-il possible de copier un variable en mémoire dans une macro VBA ? Sans copier la variable dans une cellule Excel et utiliser selection.copy
Merci pour votre aide à tous Al
MichD
Une autre possibilité, c'est l'utilisation d'un "NOM MASQUÉ". (Un nom masqué ne fait pas partie de la collection "NAMES" du classeur)
Pour utiliser ceci, voici un exemple :
une autre possibilité serait de stocker la valeur dans un Nom caché, par exemple:
'pour Stocker la valeur dans le nom masqué "Utilisateur" Application.ExecuteExcel4Macro "SET.NAME(""Utilisateur"",""" & Environ("username") & """)"
'pour récupérer la valeur Range("A1") = Application.ExecuteExcel4Macro("Utilisateur")
'pour supprimer un nom masqué : Application.ExecuteExcel4Macro "SET.NAME(""Nom_Test"")"
Tu peux même récupérer cette valeur après avoir fermé et rouvert le fichier pourvu que l'application Excel demeure ouverte. Il est même possible de récupérer dans n'importe quel classeur la valeur du nom masqué. C’est à dire tant que tu n'auras pas attribué une autre valeur au Nom "Utilisateur".
Lorsque tu fermes Excel, tous les noms masqués déclarés sont supprimés.
Une autre possibilité, c'est l'utilisation d'un "NOM MASQUÉ".
(Un nom masqué ne fait pas partie de la collection "NAMES"
du classeur)
Pour utiliser ceci, voici un exemple :
une autre possibilité serait de stocker la valeur dans un Nom caché,
par exemple:
'pour Stocker la valeur dans le nom masqué "Utilisateur"
Application.ExecuteExcel4Macro "SET.NAME(""Utilisateur"",""" &
Environ("username") & """)"
'pour récupérer la valeur
Range("A1") = Application.ExecuteExcel4Macro("Utilisateur")
'pour supprimer un nom masqué :
Application.ExecuteExcel4Macro "SET.NAME(""Nom_Test"")"
Tu peux même récupérer cette valeur après avoir fermé et rouvert le
fichier pourvu que l'application Excel demeure ouverte. Il est même possible
de récupérer dans n'importe quel classeur la valeur du nom masqué.
C’est à dire tant que tu n'auras pas attribué une autre valeur au Nom
"Utilisateur".
Lorsque tu fermes Excel, tous les noms masqués déclarés sont supprimés.
Une autre possibilité, c'est l'utilisation d'un "NOM MASQUÉ". (Un nom masqué ne fait pas partie de la collection "NAMES" du classeur)
Pour utiliser ceci, voici un exemple :
une autre possibilité serait de stocker la valeur dans un Nom caché, par exemple:
'pour Stocker la valeur dans le nom masqué "Utilisateur" Application.ExecuteExcel4Macro "SET.NAME(""Utilisateur"",""" & Environ("username") & """)"
'pour récupérer la valeur Range("A1") = Application.ExecuteExcel4Macro("Utilisateur")
'pour supprimer un nom masqué : Application.ExecuteExcel4Macro "SET.NAME(""Nom_Test"")"
Tu peux même récupérer cette valeur après avoir fermé et rouvert le fichier pourvu que l'application Excel demeure ouverte. Il est même possible de récupérer dans n'importe quel classeur la valeur du nom masqué. C’est à dire tant que tu n'auras pas attribué une autre valeur au Nom "Utilisateur".
Lorsque tu fermes Excel, tous les noms masqués déclarés sont supprimés.
si tu le désires, tu peux envoyer le contenu d'une variable ou le contenu d'une cellule ou encore du textbox dans le presse-papier et le coller dans tout autre document.
Pour ce faire, tu dois ajouter la référence suivante : Dans la fenêtre de l'éditeur de code VBA / barre des menus / Outils / Références / tu coches la référence suivante : "Microsoft Forms 2.0 Object Librairy"
'------------------------------------------- Et dans une procédure, tu inscris ceci pour insérer du texte dans le presse-papier
With New DataObject .SetText "Le Texte à copier dans le presse papier" .PutInClipboard End With '------------------------------------------- Si le texte est dans la cellule A1 With New DataObject .SetText Range("A1").value .PutInClipboard End With '------------------------------------------- Si le texte est dans une variable Dim MaVariable As String MaVariable = "Toto" With New DataObject .SetText MaVariable .PutInClipboard End With '-------------------------------------------
si tu le désires, tu peux envoyer le contenu d'une variable
ou le contenu d'une cellule ou encore du textbox dans le
presse-papier et le coller dans tout autre document.
Pour ce faire, tu dois ajouter la référence suivante :
Dans la fenêtre de l'éditeur de code VBA / barre des menus /
Outils / Références / tu coches la référence suivante :
"Microsoft Forms 2.0 Object Librairy"
'-------------------------------------------
Et dans une procédure, tu inscris ceci pour insérer du
texte dans le presse-papier
With New DataObject
.SetText "Le Texte à copier dans le presse papier"
.PutInClipboard
End With
'-------------------------------------------
Si le texte est dans la cellule A1
With New DataObject
.SetText Range("A1").value
.PutInClipboard
End With
'-------------------------------------------
Si le texte est dans une variable
Dim MaVariable As String
MaVariable = "Toto"
With New DataObject
.SetText MaVariable
.PutInClipboard
End With
'-------------------------------------------
si tu le désires, tu peux envoyer le contenu d'une variable ou le contenu d'une cellule ou encore du textbox dans le presse-papier et le coller dans tout autre document.
Pour ce faire, tu dois ajouter la référence suivante : Dans la fenêtre de l'éditeur de code VBA / barre des menus / Outils / Références / tu coches la référence suivante : "Microsoft Forms 2.0 Object Librairy"
'------------------------------------------- Et dans une procédure, tu inscris ceci pour insérer du texte dans le presse-papier
With New DataObject .SetText "Le Texte à copier dans le presse papier" .PutInClipboard End With '------------------------------------------- Si le texte est dans la cellule A1 With New DataObject .SetText Range("A1").value .PutInClipboard End With '------------------------------------------- Si le texte est dans une variable Dim MaVariable As String MaVariable = "Toto" With New DataObject .SetText MaVariable .PutInClipboard End With '-------------------------------------------