hello à tous et bonne année 2022.
vu sur ce forum ceci :
cela fonctionne avec une plage que l'on définit dans le code. (Dim Plage As Range Set Plage = Range("A1:B5"))
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Sub TransfertPlageVersTableau() Worksheets("feuil1").Activate '(on active la feuille n°1) Dim Plage As Range Set Plage = Range("A1:B5") 'on agit sur la zone A1:B5 (que l'on a nommé et définit "Plage") '-------------------- 'Méthode de la boucle '-------------------- 'Dim TabOrd() As Double 'c'est ce qu'il y avait à l'origine (Tableau dynamique non dimensionné nommé "TabOrd" typé avec des valeurs "Double") ' Je pense qu'il vaut mieux "typer" en "Variant" quand on utilise une sélection faite avec la souris.. ' on peut peut alors sélectionner différentes valeurs ... non identiques 'la ligne devient alors : Dim TabOrd() As Variant Dim NumRow As Integer: Dim NumCol As Integer NumRow = Plage.Rows.Count: NumCol = Plage.Columns.Count 'NumRow récupère le nombre de lignes , NumCo récupère le nombre de colonnes ReDim TabOrd(1 To NumRow, 1 To NumCol) 'on redimensionne le tableau TabOrd en fonction des lignes et colonnes trouvées et on fait commencer les indices à 1 Dim i As Integer: Dim j As Integer For i = 1 To NumRow For j = 1 To NumCol TabOrd(i, j) = Plage(i, j).Value '(on transfert les valeurs de la "Plage" dans le tableau "TabOrd") Debug.Print "Tabord(" & i & "," & j & ")" & TabOrd(i, j) 'juste pour visualiser. Next j Next i End Sub
Mais je me pose la question suivante :
comment pourrait-on faire pour une sélection faite avec la souris.. ?
il faudrait demander au programme de prendre la sélection faite avec la souris et ensuite de faire le transfert dans un tableau ...
mais je ne vois pas quelle instruction permet de faire cela..
Merci de votre aide..
Partager