je m'arrache les cheveux sur un problème. J'ai sur la colonne d'une
feuille excel une serie de chiffre (un chiffre par ligne et toujours sur
la même colonne). Cette série peut contenir plusieurs milliers de
valeurs toutes différents (pas de doublons).
Je souhaitais rechercher en VBA sur quelle ligne se trouve un chiffre
précis. J'ai utilisé la fonction find mais :
1- je la trouve trop lente
2- pour une raison inconnue elle ne me trouvait parfois pas de valeurs
alors que le chiffre recherché était bien dans la colonne.
Bref j'ai changé de stratégie et décidé de passer par un tableau
dim tableau as variant
en lui affectant les données de la colonne et de faire une recherche par
application.match.
LastRow = Worksheets(NomFeuille).Cells(Rows.Count, 3).End(xlUp).Row
With Worksheets(NomFeuille)
tableau = .Range(.Cells(3, 3), .Cells(LastRow, 3)).Value
End With
Y = Val(Chiffrecherché)
X = Application.Match(Y, tableau, 0)
Là coté vitesse c'est super par contre la aussi il ne me trouvait pas
certaines valeurs contenues dans le tableau
J'ai enfin compris pourquoi il ne trouve pas certaines valeurs. pour une
raison inconnue certaine valeurs sont mise dans le tableau en format
texte et d'autre en format nombre. Pourtant dans ma colonne sur la
feuille Excel j'ai tout paramétré au format nombre
D’où ma question. Comment faire pour que mon tableau ne soit qu'au
format nombre?
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacky
Bonjour
Pourtant dans ma colonne sur la feuille Excel j'ai tout paramétré au format nombre
Ceci ne suffit pas. 1- Soit passer au format nombre AVANT la saisie 2- Soit ressaisir le nombre après passage au format "Standart"
3- Ou excecuter cette petite macro Concerne la plage nommée "Tableau"* *Tableau peut être remplacé par LA PLAGE concernée '-------------- Sub Numerique() Dim c As Variant [tableau].NumberFormat = "General" For Each c In [tableau] c.Value = c.Value Next End Sub '-------------- Salutations JJ
merguez07 a exposé le 09/04/2016 :
bonjour à tous,
je m'arrache les cheveux sur un problème. J'ai sur la colonne d'une feuille excel une serie de chiffre (un chiffre par ligne et toujours sur la même colonne). Cette série peut contenir plusieurs milliers de valeurs toutes différents (pas de doublons).
Je souhaitais rechercher en VBA sur quelle ligne se trouve un chiffre précis. J'ai utilisé la fonction find mais : 1- je la trouve trop lente 2- pour une raison inconnue elle ne me trouvait parfois pas de valeurs alors que le chiffre recherché était bien dans la colonne.
Bref j'ai changé de stratégie et décidé de passer par un tableau
dim tableau as variant
en lui affectant les données de la colonne et de faire une recherche par application.match.
LastRow = Worksheets(NomFeuille).Cells(Rows.Count, 3).End(xlUp).Row With Worksheets(NomFeuille) tableau = .Range(.Cells(3, 3), .Cells(LastRow, 3)).Value End With Y = Val(Chiffrecherché) X = Application.Match(Y, tableau, 0)
Là coté vitesse c'est super par contre la aussi il ne me trouvait pas certaines valeurs contenues dans le tableau
J'ai enfin compris pourquoi il ne trouve pas certaines valeurs. pour une raison inconnue certaine valeurs sont mise dans le tableau en format texte et d'autre en format nombre. Pourtant dans ma colonne sur la feuille Excel j'ai tout paramétré au format nombre
D’où ma question. Comment faire pour que mon tableau ne soit qu'au format nombre?
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com
Bonjour
Pourtant dans ma colonne sur la feuille Excel j'ai tout paramétré au format
nombre
Ceci ne suffit pas.
1- Soit passer au format nombre AVANT la saisie
2- Soit ressaisir le nombre après passage au format "Standart"
3- Ou excecuter cette petite macro
Concerne la plage nommée "Tableau"*
*Tableau peut être remplacé par LA PLAGE concernée
'--------------
Sub Numerique()
Dim c As Variant
[tableau].NumberFormat = "General"
For Each c In [tableau]
c.Value = c.Value
Next
End Sub
'--------------
Salutations
JJ
merguez07 a exposé le 09/04/2016 :
bonjour à tous,
je m'arrache les cheveux sur un problème. J'ai sur la colonne d'une feuille
excel une serie de chiffre (un chiffre par ligne et toujours sur la même
colonne). Cette série peut contenir plusieurs milliers de valeurs toutes
différents (pas de doublons).
Je souhaitais rechercher en VBA sur quelle ligne se trouve un chiffre précis.
J'ai utilisé la fonction find mais :
1- je la trouve trop lente
2- pour une raison inconnue elle ne me trouvait parfois pas de valeurs alors
que le chiffre recherché était bien dans la colonne.
Bref j'ai changé de stratégie et décidé de passer par un tableau
dim tableau as variant
en lui affectant les données de la colonne et de faire une recherche par
application.match.
LastRow = Worksheets(NomFeuille).Cells(Rows.Count, 3).End(xlUp).Row
With Worksheets(NomFeuille)
tableau = .Range(.Cells(3, 3), .Cells(LastRow, 3)).Value
End With
Y = Val(Chiffrecherché)
X = Application.Match(Y, tableau, 0)
Là coté vitesse c'est super par contre la aussi il ne me trouvait pas
certaines valeurs contenues dans le tableau
J'ai enfin compris pourquoi il ne trouve pas certaines valeurs. pour une
raison inconnue certaine valeurs sont mise dans le tableau en format texte et
d'autre en format nombre. Pourtant dans ma colonne sur la feuille Excel j'ai
tout paramétré au format nombre
D’où ma question. Comment faire pour que mon tableau ne soit qu'au format
nombre?
---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com
Pourtant dans ma colonne sur la feuille Excel j'ai tout paramétré au format nombre
Ceci ne suffit pas. 1- Soit passer au format nombre AVANT la saisie 2- Soit ressaisir le nombre après passage au format "Standart"
3- Ou excecuter cette petite macro Concerne la plage nommée "Tableau"* *Tableau peut être remplacé par LA PLAGE concernée '-------------- Sub Numerique() Dim c As Variant [tableau].NumberFormat = "General" For Each c In [tableau] c.Value = c.Value Next End Sub '-------------- Salutations JJ
merguez07 a exposé le 09/04/2016 :
bonjour à tous,
je m'arrache les cheveux sur un problème. J'ai sur la colonne d'une feuille excel une serie de chiffre (un chiffre par ligne et toujours sur la même colonne). Cette série peut contenir plusieurs milliers de valeurs toutes différents (pas de doublons).
Je souhaitais rechercher en VBA sur quelle ligne se trouve un chiffre précis. J'ai utilisé la fonction find mais : 1- je la trouve trop lente 2- pour une raison inconnue elle ne me trouvait parfois pas de valeurs alors que le chiffre recherché était bien dans la colonne.
Bref j'ai changé de stratégie et décidé de passer par un tableau
dim tableau as variant
en lui affectant les données de la colonne et de faire une recherche par application.match.
LastRow = Worksheets(NomFeuille).Cells(Rows.Count, 3).End(xlUp).Row With Worksheets(NomFeuille) tableau = .Range(.Cells(3, 3), .Cells(LastRow, 3)).Value End With Y = Val(Chiffrecherché) X = Application.Match(Y, tableau, 0)
Là coté vitesse c'est super par contre la aussi il ne me trouvait pas certaines valeurs contenues dans le tableau
J'ai enfin compris pourquoi il ne trouve pas certaines valeurs. pour une raison inconnue certaine valeurs sont mise dans le tableau en format texte et d'autre en format nombre. Pourtant dans ma colonne sur la feuille Excel j'ai tout paramétré au format nombre
D’où ma question. Comment faire pour que mon tableau ne soit qu'au format nombre?
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com
Jacky
Bonjour,
"Standart" "Standard" évidemment (ou le format "nombre" souhaité)
Salutations JJ
Jacky a exposé le 09/04/2016 :
Bonjour
Pourtant dans ma colonne sur la feuille Excel j'ai tout paramétré au format nombre
Ceci ne suffit pas. 1- Soit passer au format nombre AVANT la saisie 2- Soit ressaisir le nombre après passage au format "Standart"
3- Ou excecuter cette petite macro Concerne la plage nommée "Tableau"* *Tableau peut être remplacé par LA PLAGE concernée '-------------- Sub Numerique() Dim c As Variant [tableau].NumberFormat = "General" For Each c In [tableau] c.Value = c.Value Next End Sub '-------------- Salutations JJ
merguez07 a exposé le 09/04/2016 :
bonjour à tous,
je m'arrache les cheveux sur un problème. J'ai sur la colonne d'une feuille excel une serie de chiffre (un chiffre par ligne et toujours sur la même colonne). Cette série peut contenir plusieurs milliers de valeurs toutes différents (pas de doublons).
Je souhaitais rechercher en VBA sur quelle ligne se trouve un chiffre précis. J'ai utilisé la fonction find mais : 1- je la trouve trop lente 2- pour une raison inconnue elle ne me trouvait parfois pas de valeurs alors que le chiffre recherché était bien dans la colonne.
Bref j'ai changé de stratégie et décidé de passer par un tableau
dim tableau as variant
en lui affectant les données de la colonne et de faire une recherche par application.match.
LastRow = Worksheets(NomFeuille).Cells(Rows.Count, 3).End(xlUp).Row With Worksheets(NomFeuille) tableau = .Range(.Cells(3, 3), .Cells(LastRow, 3)).Value End With Y = Val(Chiffrecherché) X = Application.Match(Y, tableau, 0)
Là coté vitesse c'est super par contre la aussi il ne me trouvait pas certaines valeurs contenues dans le tableau
J'ai enfin compris pourquoi il ne trouve pas certaines valeurs. pour une raison inconnue certaine valeurs sont mise dans le tableau en format texte et d'autre en format nombre. Pourtant dans ma colonne sur la feuille Excel j'ai tout paramétré au format nombre
D’où ma question. Comment faire pour que mon tableau ne soit qu'au format nombre?
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com
Bonjour,
"Standart"
"Standard" évidemment (ou le format "nombre" souhaité)
Salutations
JJ
Jacky a exposé le 09/04/2016 :
Bonjour
Pourtant dans ma colonne sur la feuille Excel j'ai tout paramétré au format
nombre
Ceci ne suffit pas.
1- Soit passer au format nombre AVANT la saisie
2- Soit ressaisir le nombre après passage au format "Standart"
3- Ou excecuter cette petite macro
Concerne la plage nommée "Tableau"*
*Tableau peut être remplacé par LA PLAGE concernée
'--------------
Sub Numerique()
Dim c As Variant
[tableau].NumberFormat = "General"
For Each c In [tableau]
c.Value = c.Value
Next
End Sub
'--------------
Salutations
JJ
merguez07 a exposé le 09/04/2016 :
bonjour à tous,
je m'arrache les cheveux sur un problème. J'ai sur la colonne d'une feuille
excel une serie de chiffre (un chiffre par ligne et toujours sur la même
colonne). Cette série peut contenir plusieurs milliers de valeurs toutes
différents (pas de doublons).
Je souhaitais rechercher en VBA sur quelle ligne se trouve un chiffre
précis. J'ai utilisé la fonction find mais :
1- je la trouve trop lente
2- pour une raison inconnue elle ne me trouvait parfois pas de valeurs
alors que le chiffre recherché était bien dans la colonne.
Bref j'ai changé de stratégie et décidé de passer par un tableau
dim tableau as variant
en lui affectant les données de la colonne et de faire une recherche par
application.match.
LastRow = Worksheets(NomFeuille).Cells(Rows.Count, 3).End(xlUp).Row
With Worksheets(NomFeuille)
tableau = .Range(.Cells(3, 3), .Cells(LastRow, 3)).Value
End With
Y = Val(Chiffrecherché)
X = Application.Match(Y, tableau, 0)
Là coté vitesse c'est super par contre la aussi il ne me trouvait pas
certaines valeurs contenues dans le tableau
J'ai enfin compris pourquoi il ne trouve pas certaines valeurs. pour une
raison inconnue certaine valeurs sont mise dans le tableau en format texte
et d'autre en format nombre. Pourtant dans ma colonne sur la feuille Excel
j'ai tout paramétré au format nombre
D’où ma question. Comment faire pour que mon tableau ne soit qu'au format
nombre?
---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com
"Standart" "Standard" évidemment (ou le format "nombre" souhaité)
Salutations JJ
Jacky a exposé le 09/04/2016 :
Bonjour
Pourtant dans ma colonne sur la feuille Excel j'ai tout paramétré au format nombre
Ceci ne suffit pas. 1- Soit passer au format nombre AVANT la saisie 2- Soit ressaisir le nombre après passage au format "Standart"
3- Ou excecuter cette petite macro Concerne la plage nommée "Tableau"* *Tableau peut être remplacé par LA PLAGE concernée '-------------- Sub Numerique() Dim c As Variant [tableau].NumberFormat = "General" For Each c In [tableau] c.Value = c.Value Next End Sub '-------------- Salutations JJ
merguez07 a exposé le 09/04/2016 :
bonjour à tous,
je m'arrache les cheveux sur un problème. J'ai sur la colonne d'une feuille excel une serie de chiffre (un chiffre par ligne et toujours sur la même colonne). Cette série peut contenir plusieurs milliers de valeurs toutes différents (pas de doublons).
Je souhaitais rechercher en VBA sur quelle ligne se trouve un chiffre précis. J'ai utilisé la fonction find mais : 1- je la trouve trop lente 2- pour une raison inconnue elle ne me trouvait parfois pas de valeurs alors que le chiffre recherché était bien dans la colonne.
Bref j'ai changé de stratégie et décidé de passer par un tableau
dim tableau as variant
en lui affectant les données de la colonne et de faire une recherche par application.match.
LastRow = Worksheets(NomFeuille).Cells(Rows.Count, 3).End(xlUp).Row With Worksheets(NomFeuille) tableau = .Range(.Cells(3, 3), .Cells(LastRow, 3)).Value End With Y = Val(Chiffrecherché) X = Application.Match(Y, tableau, 0)
Là coté vitesse c'est super par contre la aussi il ne me trouvait pas certaines valeurs contenues dans le tableau
J'ai enfin compris pourquoi il ne trouve pas certaines valeurs. pour une raison inconnue certaine valeurs sont mise dans le tableau en format texte et d'autre en format nombre. Pourtant dans ma colonne sur la feuille Excel j'ai tout paramétré au format nombre
D’où ma question. Comment faire pour que mon tableau ne soit qu'au format nombre?
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com
merguez07
Merci JJ, je pensais naïvement qu'en appliquant un format à une cellule son contenu changeait immédiatement de format (quand même bizarre le fonctionnement d'Excel). en appliquant ta méthode ça marche
Merci Xavier
Le 09/04/2016 12:42, Jacky a écrit :
Bonjour,
"Standart" "Standard" évidemment (ou le format "nombre" souhaité)
Salutations JJ
Jacky a exposé le 09/04/2016 :
Bonjour
Pourtant dans ma colonne sur la feuille Excel j'ai tout paramétré au format nombre
Ceci ne suffit pas. 1- Soit passer au format nombre AVANT la saisie 2- Soit ressaisir le nombre après passage au format "Standart"
3- Ou excecuter cette petite macro Concerne la plage nommée "Tableau"* *Tableau peut être remplacé par LA PLAGE concernée '-------------- Sub Numerique() Dim c As Variant [tableau].NumberFormat = "General" For Each c In [tableau] c.Value = c.Value Next End Sub '-------------- Salutations JJ
merguez07 a exposé le 09/04/2016 :
bonjour à tous,
je m'arrache les cheveux sur un problème. J'ai sur la colonne d'une feuille excel une serie de chiffre (un chiffre par ligne et toujours sur la même colonne). Cette série peut contenir plusieurs milliers de valeurs toutes différents (pas de doublons).
Je souhaitais rechercher en VBA sur quelle ligne se trouve un chiffre précis. J'ai utilisé la fonction find mais : 1- je la trouve trop lente 2- pour une raison inconnue elle ne me trouvait parfois pas de valeurs alors que le chiffre recherché était bien dans la colonne.
Bref j'ai changé de stratégie et décidé de passer par un tableau
dim tableau as variant
en lui affectant les données de la colonne et de faire une recherche par application.match.
LastRow = Worksheets(NomFeuille).Cells(Rows.Count, 3).End(xlUp).Row With Worksheets(NomFeuille) tableau = .Range(.Cells(3, 3), .Cells(LastRow, 3)).Value End With Y = Val(Chiffrecherché) X = Application.Match(Y, tableau, 0)
Là coté vitesse c'est super par contre la aussi il ne me trouvait pas certaines valeurs contenues dans le tableau
J'ai enfin compris pourquoi il ne trouve pas certaines valeurs. pour une raison inconnue certaine valeurs sont mise dans le tableau en format texte et d'autre en format nombre. Pourtant dans ma colonne sur la feuille Excel j'ai tout paramétré au format nombre
D’où ma question. Comment faire pour que mon tableau ne soit qu'au format nombre?
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com
Merci JJ,
je pensais naïvement qu'en appliquant un format à une cellule son
contenu changeait immédiatement de format (quand même bizarre le
fonctionnement d'Excel).
en appliquant ta méthode ça marche
Merci
Xavier
Le 09/04/2016 12:42, Jacky a écrit :
Bonjour,
"Standart"
"Standard" évidemment (ou le format "nombre" souhaité)
Salutations
JJ
Jacky a exposé le 09/04/2016 :
Bonjour
Pourtant dans ma colonne sur la feuille Excel j'ai tout paramétré au
format nombre
Ceci ne suffit pas.
1- Soit passer au format nombre AVANT la saisie
2- Soit ressaisir le nombre après passage au format "Standart"
3- Ou excecuter cette petite macro
Concerne la plage nommée "Tableau"*
*Tableau peut être remplacé par LA PLAGE concernée
'--------------
Sub Numerique()
Dim c As Variant
[tableau].NumberFormat = "General"
For Each c In [tableau]
c.Value = c.Value
Next
End Sub
'--------------
Salutations
JJ
merguez07 a exposé le 09/04/2016 :
bonjour à tous,
je m'arrache les cheveux sur un problème. J'ai sur la colonne d'une
feuille excel une serie de chiffre (un chiffre par ligne et toujours
sur la même colonne). Cette série peut contenir plusieurs milliers de
valeurs toutes différents (pas de doublons).
Je souhaitais rechercher en VBA sur quelle ligne se trouve un chiffre
précis. J'ai utilisé la fonction find mais :
1- je la trouve trop lente
2- pour une raison inconnue elle ne me trouvait parfois pas de
valeurs alors que le chiffre recherché était bien dans la colonne.
Bref j'ai changé de stratégie et décidé de passer par un tableau
dim tableau as variant
en lui affectant les données de la colonne et de faire une recherche
par application.match.
LastRow = Worksheets(NomFeuille).Cells(Rows.Count, 3).End(xlUp).Row
With Worksheets(NomFeuille)
tableau = .Range(.Cells(3, 3), .Cells(LastRow, 3)).Value
End With
Y = Val(Chiffrecherché)
X = Application.Match(Y, tableau, 0)
Là coté vitesse c'est super par contre la aussi il ne me trouvait pas
certaines valeurs contenues dans le tableau
J'ai enfin compris pourquoi il ne trouve pas certaines valeurs. pour
une raison inconnue certaine valeurs sont mise dans le tableau en
format texte et d'autre en format nombre. Pourtant dans ma colonne
sur la feuille Excel j'ai tout paramétré au format nombre
D’où ma question. Comment faire pour que mon tableau ne soit qu'au
format nombre?
---
L'absence de virus dans ce courrier électronique a été vérifiée par
le logiciel antivirus Avast.
http://www.avast.com
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Merci JJ, je pensais naïvement qu'en appliquant un format à une cellule son contenu changeait immédiatement de format (quand même bizarre le fonctionnement d'Excel). en appliquant ta méthode ça marche
Merci Xavier
Le 09/04/2016 12:42, Jacky a écrit :
Bonjour,
"Standart" "Standard" évidemment (ou le format "nombre" souhaité)
Salutations JJ
Jacky a exposé le 09/04/2016 :
Bonjour
Pourtant dans ma colonne sur la feuille Excel j'ai tout paramétré au format nombre
Ceci ne suffit pas. 1- Soit passer au format nombre AVANT la saisie 2- Soit ressaisir le nombre après passage au format "Standart"
3- Ou excecuter cette petite macro Concerne la plage nommée "Tableau"* *Tableau peut être remplacé par LA PLAGE concernée '-------------- Sub Numerique() Dim c As Variant [tableau].NumberFormat = "General" For Each c In [tableau] c.Value = c.Value Next End Sub '-------------- Salutations JJ
merguez07 a exposé le 09/04/2016 :
bonjour à tous,
je m'arrache les cheveux sur un problème. J'ai sur la colonne d'une feuille excel une serie de chiffre (un chiffre par ligne et toujours sur la même colonne). Cette série peut contenir plusieurs milliers de valeurs toutes différents (pas de doublons).
Je souhaitais rechercher en VBA sur quelle ligne se trouve un chiffre précis. J'ai utilisé la fonction find mais : 1- je la trouve trop lente 2- pour une raison inconnue elle ne me trouvait parfois pas de valeurs alors que le chiffre recherché était bien dans la colonne.
Bref j'ai changé de stratégie et décidé de passer par un tableau
dim tableau as variant
en lui affectant les données de la colonne et de faire une recherche par application.match.
LastRow = Worksheets(NomFeuille).Cells(Rows.Count, 3).End(xlUp).Row With Worksheets(NomFeuille) tableau = .Range(.Cells(3, 3), .Cells(LastRow, 3)).Value End With Y = Val(Chiffrecherché) X = Application.Match(Y, tableau, 0)
Là coté vitesse c'est super par contre la aussi il ne me trouvait pas certaines valeurs contenues dans le tableau
J'ai enfin compris pourquoi il ne trouve pas certaines valeurs. pour une raison inconnue certaine valeurs sont mise dans le tableau en format texte et d'autre en format nombre. Pourtant dans ma colonne sur la feuille Excel j'ai tout paramétré au format nombre
D’où ma question. Comment faire pour que mon tableau ne soit qu'au format nombre?
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com