peper_eliot
XLDnaute Junior
Bonsoir à tous,
Je pensai (bêtement... lol) que ce serai simple de remettre les mains dans le VB après de nombreuses années. Eh ben non! Heureusement, XLD est toujours là
D'avance merci pour vos commentaires
Voilà le résumé du problème :
J'ai 4 misérables petites variables (V1 à V4) qui doivent me permettre de mettre a jour une encore plus misérable base.
J'ai commencé bien humblement en mettant tout sur une seule feuille.
Var1 - V2 - V3 - V4
NOM1 - 1 - 5 - Option1
NOM2 - 1 - 5 - Option2
En colonne R, une liste de 1 à 20. L'objectif est, pour moi, d'"essayer" de mettre la Var1 en colonne Q via Offset (0,-1) si Option1 ou en colonne P (0,-2) si Option2
Et le code qui va avec :
La ou ça m'interpelle, c'est qu'en mettant SET, ça me met en route une floppée de variables locales
Sans compter la nouvelle floppée de variables locales sur 'cell' mise en 'SET'
Alors que, si je ne met pas SET, ma ligne:
base = ...
retourne simplement 20 variables locales correspondant à mes 20 numéros
Sauf que là, je ne peux plus connaitre l'adresse de ma cell...
C'est bien embetant pour pouvoir faire mon Offset
Suis-obligé de passer par SET ?
N'hésitez pas également à me rediriger vers des posts succeptibles de m'aider.
j'ai visité, entre autre
http://www.excel-downloads.com/forum/522602-post1.html
http://www.excel-downloads.com/forum/93049-fonction-find.html
http://www.excel-downloads.com/forum/39413-adresse-cellule.html
D'avance merci pour votre éclairage.
peper_eliot
RESOLU - Nouveau classeur joint dans post plus bas
Merci à tous
Je pensai (bêtement... lol) que ce serai simple de remettre les mains dans le VB après de nombreuses années. Eh ben non! Heureusement, XLD est toujours là
D'avance merci pour vos commentaires
Voilà le résumé du problème :
J'ai 4 misérables petites variables (V1 à V4) qui doivent me permettre de mettre a jour une encore plus misérable base.
J'ai commencé bien humblement en mettant tout sur une seule feuille.
Var1 - V2 - V3 - V4
NOM1 - 1 - 5 - Option1
NOM2 - 1 - 5 - Option2
En colonne R, une liste de 1 à 20. L'objectif est, pour moi, d'"essayer" de mettre la Var1 en colonne Q via Offset (0,-1) si Option1 ou en colonne P (0,-2) si Option2
Et le code qui va avec :
Sub test1()
Dim V1, V4 As String
Dim inc, V2, V3 As Long
Dim base
Dim cell
V1 = Range("A2").Value 'Nom
V2 = Range("B2").Value 'N°Départ X
V3 = Range("C2").Value 'N°Fin Y
V4 = Range("D2").Value 'Info
'SET est obligatoire pour faire de 'base' un objet, sinon OBJET REQUIS
'la base est juste une série continue de 1 à 20
Set base = Sheets(1).Range("R2:R" & Range("R65536").End(xlUp).Row)
With base
Set cell = .Find(V2)
MsgBox (cell.Address)
End With
Dim V1, V4 As String
Dim inc, V2, V3 As Long
Dim base
Dim cell
V1 = Range("A2").Value 'Nom
V2 = Range("B2").Value 'N°Départ X
V3 = Range("C2").Value 'N°Fin Y
V4 = Range("D2").Value 'Info
'SET est obligatoire pour faire de 'base' un objet, sinon OBJET REQUIS
'la base est juste une série continue de 1 à 20
Set base = Sheets(1).Range("R2:R" & Range("R65536").End(xlUp).Row)
With base
Set cell = .Find(V2)
MsgBox (cell.Address)
End With
La ou ça m'interpelle, c'est qu'en mettant SET, ça me met en route une floppée de variables locales
Sans compter la nouvelle floppée de variables locales sur 'cell' mise en 'SET'
Alors que, si je ne met pas SET, ma ligne:
base = ...
retourne simplement 20 variables locales correspondant à mes 20 numéros
base = Sheets(1).Range("R2:R" & Range("R65536").End(xlUp).Row)
For Each cell In base
MsgBox (cell)
Next
For Each cell In base
MsgBox (cell)
Next
Sauf que là, je ne peux plus connaitre l'adresse de ma cell...
C'est bien embetant pour pouvoir faire mon Offset
Suis-obligé de passer par SET ?
N'hésitez pas également à me rediriger vers des posts succeptibles de m'aider.
j'ai visité, entre autre
http://www.excel-downloads.com/forum/522602-post1.html
http://www.excel-downloads.com/forum/93049-fonction-find.html
http://www.excel-downloads.com/forum/39413-adresse-cellule.html
D'avance merci pour votre éclairage.
peper_eliot
RESOLU - Nouveau classeur joint dans post plus bas
Merci à tous
Dernière édition: