Pb de conversion en vba

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
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