Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

offset en range

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 !

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
 
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é.😛
 
Dernière édition:
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...
@+
 
Re : offset en range

Bonjour Profane, Bonjour fhoest

Si il s'agit d'écrire dans la plage nommée Routeur sur la même ligne que la cellule C trouvée :
VB:
Sheets("DT").Range("Routeur")(C.Row, 1) = "C'est ici"

Cordialement
 
- 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
8
Affichages
390
Réponses
15
Affichages
788
Réponses
5
Affichages
914
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…