Sélection plage de données avec Colonnes Variable
Ewilem
Messages postés
5
Statut
Membre
-
Ewilem Messages postés 5 Statut Membre -
Ewilem Messages postés 5 Statut Membre -
Bonjour, ceci est mon premier post.
Je me présente, je m'appelle Izaya, et j'ai besoin d'aide pour un code VBA que je suis actuellement en train d'écrire.
Le but de ce code est de seléctionner une plage de donnée où les colonnes changeraient, avec deux lettres pour colonne.
Pour l'instant je n'essaye de séléctionner qu'une plage de donnée où les colonnes seraient définies par des variables. Je n'obtiens pour le moment que des erreurs, tout d'abord la 1004, puis la 13.
Mon code est ainsi :
L'erreur se trouve à la ligne 24.
Si quelqu'un pourrait me donner un élément de réponse, cela m'aiderait grandement..
Bonne journée,
Izaya
Je me présente, je m'appelle Izaya, et j'ai besoin d'aide pour un code VBA que je suis actuellement en train d'écrire.
Le but de ce code est de seléctionner une plage de donnée où les colonnes changeraient, avec deux lettres pour colonne.
Pour l'instant je n'essaye de séléctionner qu'une plage de donnée où les colonnes seraient définies par des variables. Je n'obtiens pour le moment que des erreurs, tout d'abord la 1004, puis la 13.
Mon code est ainsi :
1 Sub TestSelectionPlage()
2 Windows("DonneesTransfert.xlsm").Activate
3 Dim k As Integer 'Valeur ASCII COLONNE
4 Dim kk As Integer 'Valeur ASCII COLONNE
5 Dim MaPlage As Range
6 Dim l As Integer 'Valeur ASCII COLONNE
7 Dim ll As Integer 'Valeur ASCII COLONNE
8
9 Dim m As String 'Valeur en chaîne
10 Dim mm As String 'Valeur en chaîne
11
12 Dim q As String 'Valeur en chaîne
13 Dim qq As String 'Valeur en chaîne
14
15 k = 67 'Lettre C
16 kk = 72 'Lettre H
17 l = 67 'Lettre C
18 ll = 80 'Lettre P
19 m = Chr(k)
20 mm = Chr(kk)
21 q = Chr(l)
22 qq = Chr(ll)
23
24 Set MaPlage = Range(Range("A1").Offset(7, m & mm & 2), Range("A1").Offset(7, q & qq & 300))
25 MaPlage.Select
26 End Sub
L'erreur se trouve à la ligne 24.
Si quelqu'un pourrait me donner un élément de réponse, cela m'aiderait grandement..
Bonne journée,
Izaya
A voir également:
- Vba range avec variable colonne
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Colonne word - Guide
- Formule somme excel colonne - Guide
- Vba range avec variable ✓ - Forum VB / VBA
2 réponses
Bonjour
Je ne vois pas trop où tu veux en venir
Peut être quelque chose comme ça (les variables adr1 et adr2 te permettront de vérifier si les adresses sont correctes)
Cdlmnt
Je ne vois pas trop où tu veux en venir
Peut être quelque chose comme ça (les variables adr1 et adr2 te permettront de vérifier si les adresses sont correctes)
Dim adr1 As String Dim adr2 As String adr1 = Cells(7 + 2, m & mm).Address adr2 = Cells(7 + 300, q & qq).Address Set MaPlage = Range(adr1 & ":" & adr2)
Cdlmnt
Ewilem
Messages postés
5
Statut
Membre
Merci, c'est exactement ça !! :D
Bonjour Izaya, bonjour le forum,
Pourquoi ne pas utiliser justement le numéro de la colonne comme variable avec le style de référence L1C1 ? Range("A1") devient Cells(1, 1) / Range("C7") devient Cells(7, 3). Ça te faciliterait les choses.
Je n'ai pas bien compris la plage que tu voulais sélectionner mais tu devrais y arriver en adaptant le code ci-dessous :
Pourquoi ne pas utiliser justement le numéro de la colonne comme variable avec le style de référence L1C1 ? Range("A1") devient Cells(1, 1) / Range("C7") devient Cells(7, 3). Ça te faciliterait les choses.
Je n'ai pas bien compris la plage que tu voulais sélectionner mais tu devrais y arriver en adaptant le code ci-dessous :
Sub TestSelectionPlage()
Dim O As Worksheet
Dim COL As Integer
Dim MaPlage As Range
'pour voir le numéro des colonnes : menu Fichier / Option / Formules / cocher_décocher : Style de référence L1C1
Windows("DonneesTransfert.xlsm").Activate
Set O = ActiveWorkbook.Worksheets("Feuil1") 'à adapter à ton cas
COL = 3 '=> colonne C ('à adapter à ton cas)
Set MaPlage = O.Range(O.Cells(7, COL), O.Cells(7, COL + 300)) '=>C7:KQ7 (à adapter à ton cas)
MaPlage.Select
End Sub