Recherche de chiffres dans une cellule

Signaler
Messages postés
54
Date d'inscription
vendredi 2 février 2007
Statut
Membre
Dernière intervention
5 juillet 2007
-
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
-
Bonjour j'ai un petit souci mais j'arrive pas à le résoudre

Voila j'ai des chiffres qui sont entrés dans des cellules excel. je veux les extraire s'il sont compri entre un min et un max. J'ai essayé de faire un programme mais par exemple quand min=1 et max=100, le programme me prend bien les chiffes 1 - 11 - 12 - 13 -... mais pas les 20-30-40-50-........

Comment faire ?

Voila mon prog :

Do Until Sheets("resultat").Cells(a + 8, 2) = ""           'Boucle permettant de changé la valeur de a
If Not Sheets("resultat").Cells(a, 4) = "" Then
    Sheets("resultat").Select
   
    If Cells(a, 4) >= salmin and Cells(a, 4) <= salmax Then     ' salmin et salmax sont des valeurs 
        Range("A" & a, "CU" & a + 9).Select                              rentrées préalablement dans 2 
        Selection.Copy                                                               texbox
        Sheets("cherch").Select
        Cells(i, 1).Select
        ActiveSheet.Paste
        i = i + 10
    End If
   
End If
a = a + 10
Loop

Merci d'avance si quelqu'un peut m'aider

17 réponses

Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Salut, essaye comme ça:

Do Until Sheets("resultat").Cells(a + 8, 2) = ""           'Boucle permettant de changé la valeur de a
If Not Sheets("resultat").Cells(a, 4) = "" Then
    Sheets("resultat").Select
   
    If Cstr(Cells(a, 4)) >= salmin and Cstr(Cells(a, 4)) <= salmax Then     ' salmin et salmax sont des valeurs 
        Range("A" & a, "CU" & a + 9).Select                              rentrées préalablement dans 2 
        Selection.Copy                                                               texbox
        Sheets("cherch").Select
        Cells(i, 1).Select
        ActiveSheet.Paste
        i = i + 10
    End If
   
End If
a = a + 10
Loop

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
54
Date d'inscription
vendredi 2 février 2007
Statut
Membre
Dernière intervention
5 juillet 2007

Merci beaucoup de m'aider mais c'est pas encore sa.

Enfaite dans mes cellules soit j'ai des chiffres ex: 10 ,23 ,65 ,.... ou alors j'ai sa : 30 à 35 , 562 à 728 ......
Avec cstr sa na rien changé. le truc c que par exemple avec salmin 1 et salmax 200

30 à 35 --> sa marche pas
0 à 25 --> sa marche pas

100 à 110 --> sa marche

Pourquoi ???
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Comment déclares tu salmax et salmin et comment attribut tu les valeurs?

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Ha j'avais pas vu c'est par les textbox

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
salmax = Cstr(Textbox1.Value)
salmin = Cstr(Textbox2.Value)

  If Cstr(Cells(a, 4)).Value >= salmin and Cstr(Cells(a, 4)).Value <= salmax Then     ' salmin et salmax sont des valeurs 
        Range("A" & a, "CU" & a + 9).Select                              rentrées préalablement dans 2 
        Selection.Copy                                                               texbox
        Sheets("cherch").Select
        Cells(i, 1).Select
        ActiveSheet.Paste
        i = i + 10
    End If
   
End If
a = a + 10
Loop

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
54
Date d'inscription
vendredi 2 février 2007
Statut
Membre
Dernière intervention
5 juillet 2007

A quoi sa sert de faire ca :  salmax = Cstr(Textbox1.Value)
                                          salmin = Cstr(Textbox2.Value)

Ca marche toujours pas, j'ai l'impression que le programme ne prend que des valeur qui commence par 1 ou 2. Même si je met sal max=200 il m'a quand meme pris des valeurs laegement supérieur mais commencan tout de meme par 1 ou 2.
Sait tu comment faire pour divisé un nombre en unité dizaine centaine ..... ?

Je pense qu'avec sa sa pourrai marcher
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Cela sert a convertir les valeurs des textbox e, type single!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Avec n'importe quelle valeur dans la colonne O ce code fonctionne! A voir pour adapter à ton cas!

Dim salmin As Integer
Dim salmax As Integer


salmin = TextBox1.Value
salmax = TextBox2.Value


Dim i As Integer


i = 2


Do
If Not Sheets("Cavités").Range("O" & i).Value = "" Then
   
    If Range("O" & i).Value >= salmin And Range("O" & i).Value <= salmax Then     ' salmin et salmax sont des valeurs


MsgBox Range("O" & i).Value


    End If
   
End If


i = i + 1


Loop Until ActiveSheet.Range("O" & i).Value = ""

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
54
Date d'inscription
vendredi 2 février 2007
Statut
Membre
Dernière intervention
5 juillet 2007

Merci beaucoup Drikce06 de m'aider mais malheureusement sa ne marche toujours pas. SNIFF :-(
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Le problème vient de ce que Salmin et Salmax sont du texte !
et, bien évidemment, par exemple :
"18" < "2"

If faut, pour cette comparaison de valeurs, qu'elles soient toutes numériques
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Ha! Je suis bête j'ai tellement l(habitude de taper Cstr que je me suis planter remplace tous les Cstr par des Csng pour convertir en single! En plus je te dis que ça converti en single, mais je t'ai mis le code pour convertir en string!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
54
Date d'inscription
vendredi 2 février 2007
Statut
Membre
Dernière intervention
5 juillet 2007

J'ai écrit sa :
   
If CSng(Range("D" & a)) >= salmin And CSng(Range("D" & a)) <= salmax Then
        Range("A" & a, "CU" & a + 9).Select
        Selection.Copy
        Sheets("cherchsal").Select
        Cells(i, 1).Select
        ActiveSheet.Paste
        i = i + 10
End If

et il me marque type incompatible
Messages postés
54
Date d'inscription
vendredi 2 février 2007
Statut
Membre
Dernière intervention
5 juillet 2007

et si je met :

    If CSng(Range("D" & a)).value >= salmin And CSng(Range("D" & a)).value <= salmax Then
        Range("A" & a, "CU" & a + 9).Select
        Selection.Copy
        Sheets("cherchsal").Select
        Cells(i, 1).Select
        ActiveSheet.Paste
        i = i + 10
    End If

c'est encore pire car il aime pas du tout les points de .value
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
CSng(Range("D" & a).value) et non CSng(Range("D" & a)).value

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Pour l'incompatibilité de type comment attributs tu les variables salmax et mix? Es tu sur d'avoir des nombres dans les cellules?

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
54
Date d'inscription
vendredi 2 février 2007
Statut
Membre
Dernière intervention
5 juillet 2007

Toute mes cellules ne contiennet pas que des nom. Certaines contiennent par ex : "35 à 50" et dans ce cas sa ne marche pas très bien. J'ai donc refait toutes mes cellules afin qu'elle ne contiennent que des chiffres et là sa marche.

Je te remercie du temps que tu m'as accordé. Bon week-end Tchao
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
" Certaines contiennent par ex : "35 à 50" "