Affectation d'une variable à une cellule VB

  • Initiateur de la discussion Initiateur de la discussion Dominiqueclau
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

Dominiqueclau

Guest
Dans un programme VB, j’ai une plage de cellules (de L8 à L18) où peuvent s’inscrire des données (les noms des organismes d’un région)à l’aide d’une boîte de dialogue : le nombre de ces données pouvant être variable (nombre d’organismes différents d’une région à l’autre et noms des organismes différents aussi).
Je voudrais récupérer les noms de ces organismes pour les utiliser dans une autre partie de mon programme (pour les utiliser en tant que nom de colonne dans un tableau) .
En test je voulais essayer de coller les noms de la colonne M en colonne N sur la même ligne.
En cellule H6, il y a le nombre d’organismes concernés.
J’ai commencé d’écrire la macro suivante …qui ne fonctionne pas ! :
Dim varorg As String
Dim i As Integer
Range("H6").Select
VarNbreORG = ActiveCell.Value
Range("M8").Select
For i = 1 To VarNbreORG
varorg& i = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
‘Copie pour test en colonne N
ActiveCell.Value= varorg& i
ActiveCell.Offset(1, -1).Select
Next

Si quelqu'un peut m'aider merci par avance!
 
Re : Affectation d'une variable à une cellule VB

Bonjour DominiqueClau, bienvenu dans le forum, bonjour le forum,

En passant par un tableau dynamique :
Code:
Sub Macro1()
Dim VarNbreORG As Integer 'déclare la variale VarNbreORG
Dim varorg() As String 'déclare le tableau de variable varorg
Dim i As Integer 'déclare la variable i (Incrément)
 
VarNbreORG = Range("H6").Value 'de'finit le nombre d'organismes
 
'******************************************
'remplissage du tableau de variables varorg
'******************************************
For i = 0 To VarNbreORG - 1 'boucle de 0 à nombre d'organismes -1
    ReDim Preserve varorg(i) 'redimensionne le tableau de variables varorg
    varorg(i) = Range("M8").Offset(i, 0).Value 'ajoute une variable indexée au tableau
Next i 'prochain organisme de la boucle
 
'**************************************
'copie du tableau de variables ailleurs
'**************************************
For i = 0 To UBound(varorg)
    Range("N8").Offset(i, 0).Value = varorg(i)
Next i
End Sub

il faut éviter les Select qui ralentissent considérablement le code...
 
Re : Affectation d'une variable à une cellule VB

Bonjour,
Hello robert,

J'ai peut-être rien compris, vu le brouillon de la demande, mais il me semble que

Code:
Range("A1").Resize(, 10).Value = Application.Transpose(Range("L8:L18").Value)

Affichera les valeur L8:L18 en colonne à partir de A1

A+
 
Re : Affectation d'une variable à une cellule VB

Merci pour "le brouillon" de la demande....ça fait toujours plaisir!
En plus la réponse n'est pas celle que j'espérais puisqu'apparemment
il s'agit d'un simple collage avec transposition.
Je voulais affecter des noms aux données inscrites dans les cellules L8 à L18 pour pouvoir les réutiliser dans mon programme ultérieurement :
par exemple la première valeur cellule(L8) enregistrée sous orgTOTO serait nommée Varorg1 et dans une autre partie du programme je pourrais affecter en tant que titre de colonne la valeur Varorg1 qui serait dans cet exemple orgTOTO...
Voilà, je ne sais pas si je suis arrivée à mieux me faire comprendre...
En tous cas merci par avance
 
Re : Affectation d'une variable à une cellule VB

Bonjour le fil, bonjour le forum,

Merci pour les remerciements... Ça fait toujours plaisir !
Il me semble que ma proposition peut correspondre à tes attentes...
Peut-être la lecture de la Lien supprimé du forum te serait bien utile.
 
Re : Affectation d'une variable à une cellule VB

Bonjour a tous

Houlala les compliments volent bas en ce jour !!!

Pour essayer de mettre de l'huile la ou ça coince:

@ Dominiqueclau
Je crois que Robert a bien perçu ton problème et que tu as mal perçue sa réponse
En effet sa
'copie du tableau de variables ailleurs
n'est qu'une demonstration de l'utilisation du tableau
Simplement la ou tu aurais ecrit Varorg1 il te faudra ecrire Varorg(1)
Mintenant si tu tiens a donner des noms aux cellules L8 a L18 ,c'est possible
mais j'ai comme l'impression qu'il faudra demander gentiment et ne pas t'enerver
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
398
Retour