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

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
Le problème apparaît sur la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Worksheets("Indicateurs").Range(derncolonne & j2) = Worksheets("FiltreBis").Range("E" & j1)
Et plus particulièrement sur la variable : derncolonne.

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é).

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
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)
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 !