[VBA] Définir une plage de cellule avec variable

Brozad

XLDnaute Nouveau
Bonjour,

Je rencontre un petit problème qui a mon avis ne va pas vous posez plus de souci que cela mais je n'arrive pas à trouver.

En fait, j'avais réalisé une macro VBA où je définissais un certain nombre de plages de la façon suivante


If mois = "janvier" Then
ligne = 5
Else
If mois = "fevrier" Then
ligne = 6
End if
End if

plage1 = "A1:A" & ligne

Et ça fonctionnait très bien (je ne crois pas que c'est codé très proprement).

J'avais au début écrit plage1 = Range("A1:A" & ligne) et là ça ne marchait pas... Donc j'ai utilisé la méthode écrite au dessus.

Le soucis est qu'en fait ma colonne est variable, parce que les donnés sont générées automatiquement par TCD et parfois il n'y a pas de colonne, je dois donc tester des conditions.

Le problème est que lorsque je définis ma plage cela ne marche pas (en mode pas à pas je vois plage = vide)

J'ai fais un code de ce type

If condition = vrai Then
colonne = xx
End if


plage1 = Cells(3, colonne)
plage2 = Range(Cells(5, Colonne), Cells(8, Colonne))


Bref je ne comprends pas vriament parce que lorsque je fais par exemple

Range(Cells(5, Colonne), Cells(8, Colonne)).Copy

Là pas de problème...

Excusez encore une fois mon code qui ne doit pas être bien propre.

Merci
 

Brozad

XLDnaute Nouveau
Re : [VBA] Définir une plage de cellule avec variable

Oui c'était ça le problème merci bien. En faisant :

Dim plage As Range
Colonne = 3
Set plage = Range(Cells(8, Colonne), Cells(14, Colonne))
plage.copy

Ca fonctionne mais avec



Dim plage As Range

Colonne = 3
plage = Range(Cells(8, Colonne), Cells(14, Colonne))
plage.copy

Non

Merci beaucoup
 

Statistiques des forums

Discussions
312 294
Messages
2 086 928
Membres
103 404
dernier inscrit
sultan87