offset en range

Profane

XLDnaute Occasionnel
Bonjour a tous
je suis toujours sur ma problématique référence relative vers référence absolue
en clair, avant j'importais un fichier ou les colonnes étaient toujours à la même place, ...ce qui n'est plus le cas
et donc j'aimerai adapter ce code pour que le code offset -1, renvoi plutot sur une colonne nommé via le range
voici le code et d'avance merci
@+

'On récupére la valeur sur la colonne "commande"
'on envoi le resultat sur la colonne précédente 'à la base du code la colonne routeur
Sub SplitDT()
With Sheets("DT")
For Each c In Range("Commande")
If c.Value Like "*" & "CPE" & "*" Then
'c.Offset(, -1) = Mid(c, InStrRev(c, "CPE100901291") + 12) ' ancien code
c.Offset(, Routeur) = Mid(c, InStrRev(c, "CPE100901291") + 12) ' nouveau code mais la syntaxe est incorrecte
Else
'c.Offset(, -1) = "NR" ' ancien code
c.Offset(, Routeur) = "NR" ' nouveau code mais la syntaxe est incorrecte

End If
Next c
End With
End Sub
 

fhoest

XLDnaute Accro
Re : offset en range

Bonjour,
quelle est la déclaration de la variable routeur elle doit être integer ou long. voir dans le code comment elle est instancié puis sa valeur au passage de ce code.
A+

Bonjour Efgé, voilà après avoir lu la solution parfaite de Efgé je ne sais quoi ajouté.:p
 
Dernière édition:

Profane

XLDnaute Occasionnel
Re : offset en range

Bonjour fhoest
routeur est un range, nommé dynamiquement
ce qui est etrange c'est qu'avec le code "c.Offset(, Routeur)", j'obtiens le resultat correct MAIS dans le range d'origine Commande (il se substitue a l'ancien....), et je souhaite l'obtenir dans le range routeur...
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote