Bonjour à toutes et à tous,
Après avoir parcouru ce forum pour chaque morceau de code que j'ai réalisé, je tiens à vous remercier grandement pour la richesse de son contenu !
Je rencontre un problème dans l'élaboration d'une procédure, et pour une fois, je n'arrive pas à le contourner.
En essayant d'être clair :
- Sous Office 365 (excel 2016)
- Je souhaite copier des cellules d'une feuille 1 à une feuille 2 (même classeur) en fonction de la valeur d'une cellule sur la même ligne (type index equiv en formule)
- Je suis en Option Explicit et en Option Compare Text
Pour cela, j'ai réalisé une double boucle
Le problème apparaît sur la ligne
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 Dim dernligne As Long, i As Long, j1 As Long, j2 As Long, dernligne1 As Long, dernligne2 As Long, derncolonne As Long, d dernligne1 = Worksheets("FiltreBis").Range("C" & Rows.Count).End(xlUp).Row derncolonne = Sheets("Indicateurs").Range("W2").End(xlToLeft).Column + 1 For j1 = 2 To dernligne1 For j2 = 2 To 26 If Worksheets("FiltreBis").Range("C" & j1).Value = "" Then GoTo FillBlank If Worksheets("FiltreBis").Range("C" & j1) = Worksheets("Indicateurs").Range("I" & j2) Then Worksheets("Indicateurs").Range(derncolonne & j2) = Worksheets("FiltreBis").Range("E" & j1) End If Next Next
Et plus particulièrement sur la variable : derncolonne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Worksheets("Indicateurs").Range(derncolonne & j2) = Worksheets("FiltreBis").Range("E" & j1)
En effet :
- en remplaçant la variable par la lettre de la colonne ("M" en l’occurrence), la procédure tourne sans coup férir,
- en remplaçant la variable par son résultat (13), la procédure s'arrête sur une "erreur définie par l'application ou par l'objet" (1004),
- en tentant de contourner le problème via Select Case, afin de transformer les chiffre en lettre (why not ?...) , retour à l'erreur 1004 (code ci-après au cas où il serait gangrèné).
Est-ce la variable derncolonne qui est mal dimensionnée, mal formulée. Ou est-ce mon Range qui est mal assorti aux valeurs que je veux lui donné (colonne vide, ligne en cours)
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 Select Case (derncolonne) Case derncolonne = 11 d = "K" Case derncolonne = 12 d = "L" Case derncolonne = 13 d = "M" Case derncolonne = 14 d = "N" Case derncolonne = 15 d = "O" Case derncolonne = 16 d = "P" Case derncolonne = 17 d = "Q" Case derncolonne = 18 d = "R" Case derncolonne = 19 d = "S" Case derncolonne = 20 d = "T" Case derncolonne = 21 d = "U" Case derncolonne = 22 d = "V" End Select
Ainsi, je viens quémander une aide et surtout des conseils
Dans l'espoir d'avoir réussi à placer correctement les balises, je vous souhaite une bonne soirée !
Partager