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

Copie d'une variable en mémoire

5 réponses
Avatar
AlfSav69
Bonjour =E0 tous,

Est-il possible de copier un variable en m=E9moire dans une macro VBA ?
Sans copier la variable dans une cellule Excel et utiliser selection.copy

Merci pour votre aide =E0 tous
Al

5 réponses

Avatar
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
Avatar
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
Avatar
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.


MichD
---------------------------------------------------------------
Avatar
MichD
Une autre façon de faire,

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
'-------------------------------------------

MichD
---------------------------------------------------------------
Avatar
AlfSav69
Le mercredi 6 novembre 2013 07:59:05 UTC+1, AlfSav69 a écrit :
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



Merci à tous pour vos réponses
En fait je voulais simplement copier le contenu de la variable directement dans le presse-papier

MichD m'a donnée la solution...

Encore Merci
A la prochaine....
Al