Pb de conversion en vba

Le
DesseJ
Bonjour,

Je reviens vous pour un chtit conseil.
J'ai, dans ma feuille Pieces, des donnes de type 10/88, 25/99 e
cetera format en texte.

En vba, j'utilise une formule classique index/equiv avec un autofill
pour un traitement rapide pour rcuprer ses donnes dans une autre
feuille. Cela se passe fort bien (vrif en pas pas sur les deux
premires lignes du code).
Or ds que je transforme mes formules en valeurs (dernire ligne du
code suivant), Excel me transforme les rfrences comme 10/88 en
01/10/88.

[I2].FormulaLocal = "=INDEX(Pieces!$F$2:$F$" & DerLigP &
";EQUIV(A2;Pieces!$A$2:$A$" & DerLigP & ";0);1)"
Range("E2:I2").AutoFill Destination:=.Range("E2:I" & DerLig)
Range("E2:I" & DerLig).Value = .Range("E2:I" & DerLig).Value

Comment puis-je facilement contourner ce fait ?
Merci d'avance,
Stef
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4814581
Bonjour,

[A1].NumberFormat = "@"
[A1] ="10/88"

JB

On 31 juil, 11:54, DesseJ
Bonjour,

Je reviens à vous pour un chtit conseil.
J'ai, dans ma feuille Pieces, des données de type 10/88, 25/99 e
cetera formaté en texte.

En vba, j'utilise une formule classique index/equiv avec un autofill
pour un traitement rapide pour récupérer ses données dans une autre
feuille. Cela se passe fort bien (vérif en pas à pas sur les deux
premières lignes du code).
Or dès que je transforme mes formules en valeurs (dernière ligne du
code suivant), Excel me transforme les références comme 10/88 en
01/10/88.

[I2].FormulaLocal = "=INDEX(Pieces!$F$2:$F$" & DerLigP &
";EQUIV(A2;Pieces!$A$2:$A$" & DerLigP & ";0);1)"
Range("E2:I2").AutoFill Destination:=.Range("E2:I" & DerLig)
Range("E2:I" & DerLig).Value = .Range("E2:I" & DerLig).Value

Comment puis-je facilement contourner ce fait ?
Merci d'avance,
Stef


DesseJ
Le #4814411
Bonjour JB,

Suis-je bête !!!
Un grand merci.

Bonne journée
Stef

La solution finale
[I2].FormulaLocal = "=INDEX(Pieces!$F$2:$F$" & DerLigP &
";EQUIV(A2;Pieces!$A$2:$A$" & DerLigP & ";0);1)"
Range("E2:I2").AutoFill Destination:=Range("E2:I" & DerLig)
Range("E2:I" & DerLig).NumberFormat = "@"
Range("E2:I" & DerLig).Value = Range("E2:I" & DerLig).Value
Publicité
Poster une réponse
Anonyme