Bonjour à tous
dans une boucle (imbriquée dans une autre boucle) qui me donne des valeurs numériques, je souhaite récupérer dans une table la valeur texte correspondant à la valeur numérique de l'indice 1 de a boucle
Indice de ma boucle = i
Variable des Valeurs = Val
Ci après ma macro
Sub Devis()
Dim i As Long
Dim j As Long
Dim DerniereLigne As Integer
Dim Val As Variant
Dim col As long
j = 5
'Application.ScreenUpdating = False
Sheets("Ouvrage").Select
With ActiveWorkbook.Worksheets("Ouvrage")
'calcul le nombre de lignes
DerniereLigne = .Range("A1").End(xlDown).Row
MsgBox DerniereLigne
col = 12
For col = 12 to 22
i = 1
Do
Val = Cells(i, col).Value
If Val <> 0 Then
IF I = 1 Then
Val = 0
Range("H" & i) = 0
:btres: End If
Range("H" & i).Copy Destination:=Sheets("Devis").Range("B" & j)
Sheets("Devis").Range("D" & j) = Val
j = j + 2
End If
i = i + 1
Loop Until i = DerniereLigne
Next COL
End With
sheets("Devis").Select
End Sub
La valeur "texte" à récupérer pour i = 1 est actuellement égale à 0 car elle change à chaque changement de colonne de ma 1ère boucle
il s'agit du titre de chaque colonne correspond aux localisation de la table "LOCALISATION" en fin de message.
Les autres valeurs sont celles de la colonne H de ma feuille "Ouvrages" en regard de chaque valeur correspondant à i
IF I = 1 Then
Val = 0 ' A récupérer et à utiliser pour identifier la valeur "texte" cherchée,
Range("H" & i) = 0 ' Endroit ou stocker la valeur "texte" cherchée
End If
Feuille "Ouvrages"
1 H I J K L M N O
2 10 20 30 40
3 Description des natures d'ouvrage
4 Description des natures d'ouvrage
Table "LOCALISATION" ou récupérer la valeur "texte" uniquement pour i =1
Ex: Pour Val =10 Texte = Infrastructure / Pour Val = 20 Texte = RDC
A B
10 Infrastructure
20 RDC
30 Etage 1
40 Etage 2
Etc
Vous en remerciant par avance
Cordialement