Range avec variable colonne

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 !

Thismail

XLDnaute Nouveau
Bonjour tout le monde !
Après plusieurs recherche sans trouvé réponse je me lance... 😀

J'ai un userform avec un bouton "Validé", une TextBox avec des dates seulement ainsi qu'une dizaine de CheckBox.
Chaque CheckBox représente une ligne de tableau et chaque colonne représente une date.

Exemple: Date : 22/09/2014 Fabrice(ChekBox1) : True
Alors dans la colonne "22/09/2014" à la ligne "Fabrice" = 2.8

Mon code :

Private Sub CommandButton1_Click()

Dim r As Range
Dim V As String, col As String
Dim L As Integer

L = 2
V = DateBox
Set r = Sheets("Détails").Rows("1:1").Find(V, , xlValues, xlWhole)
If Not r Is Nothing Then
col = r.Address

If CheckBox1.Value = True Then
Sheets("Détails").Range(col & L) = 2.8
End If


Else: MsgBox ("Cette date n'es pas exact")
End If
End Sub


Mon problème(je pense) : Je déclare "col" pour récupéré la colonne et elle se récupère parfaitement, le soucis est que col = W1, du coup au moment de "Range(col & L)", il comprend "Range(W12)"... En gros (W1 & 2)...

La solution: Refaire mon code entier car j'imagine que je ne suis pas top en vba...
Ou juste réussir à convertir "W1" en "W:W"...


(Petit plus... Comme je vous ai dit j'ai une dizaine de CheckBox, donc j'aurais aimé créer une boucle while... C'est la raison du "L=2", pour rajouter 1 à chaque boucle et passé à la ligne suivante. Cependant je ne sais pas si on peux passé à la checkbox suivante par exemple: "Checkbox1 : 2" --> "Checkbox2 : 3"...)


Merci à tout ceux qui prendront la peine et le temps de me répondre et surement le temps de me comprendre...
Désolé pour l'haureteaugurafe... J'avais piscine pendant les dictées... Et il fallait faire un choix !

Cordialement, 😎
 
Re : Range avec variable colonne

Bonjour Thismail et bienvenu sur le forum

Une idée en l'air, non testée, par manque de fichier exemple...
Déclare Col As Long
Puis
col = r.Column

et enfin :

Sheets("Détails").Cells(L,col).Value = 2.8

Cordialement
 
Dernière édition:
- 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

Discussions similaires

Réponses
2
Affichages
1 K
H
Réponses
19
Affichages
6 K
Retour