Copie d'une variable en mémoire

Le
AlfSav69
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #25764802
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
Le #25765072
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
MichD
Le #25765222
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
---------------------------------------------------------------
MichD
Le #25765242
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
---------------------------------------------------------------
AlfSav69
Le #25766312
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
Publicité
Poster une réponse
Anonyme