VBA excel

Feng -  
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Est ce qu'il y a quelqu'un sais si on peut limiter un integer?

C'est à dire, je voudrais définir
Dim u as integer
u =1 ' pour le début
u = 100 'pour le max de u

Et je veux pas faire de boucle, je veux juste limiter à 100.

Merci beaucoup

6 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
bonjour

peux tu expliquer ce que tu veux faire avec cet entier u ?

bonne suite
1
Feng
 
u = 1
For m = 1 To NombreLigne
If u > 1 Then
If Tableau02(u - 1) <> Cells(m, 15).Value Then
If Tableau02(u - 1) <> Tableau02(h) Then
Tableau02(u) = Cells(m, 15).Value
NumberType = NumberType + 1
u = u + 1
For h = 1 To u
If Tableau02(u - 1) = Tableau02(h) Then
Tableau02(u) = "0"
End If
Next h
End If
ElseIf u = 1 Then
Tableau02(u) = Cells(m, 15).Value
u = u + 1
End If
If u > 100 Then
GoTo suivant02
End If
Next m


Ma boucle
ce que je veux c'est de copier les infos de Cells(m,15) dans le Tableau02(u). mais je voudrais en meme temps de le trier pour que il ne me marque pas plusieurs fois la meme chose dans le tableau..... je dois l'utiliser par la suite le tableau..
je sais pas trop comment faire.
Et pour l'instant l'erreur vient de u, car j'ai défini le Tableau02 de 1 à 100, donc u ne dois pas dépasser 100 non plus. je veux donc limiter u à 100
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
ce que j'ai compris

tu veux copier les 100 premières cellules différentes de la plage Cells(1,15):Cells(Nbligne,15) dans tableau02, puis trier tableau02

est ce c'est ça?
0
Feng
 
Oui,
Parce que au départ je voulais les recopier en triant en meme temps, mais j'ai vu que c'était pas possible..
car dans les cellules de la feuille, Cells(m,15), il y a plusieurs lignes qui ont de la meme valeur, je voudrais les copier dans le Tableau02, puis trier le Tableau02 pour que dans le tableau, il n'y a pas de doublons, et il n'y a pas de case vide non dans le Tableau02. Car je dois le réutiliser dans une boucle plus loin.....
C'est assez compliquer....
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
un exemple qui utilise l'objet dictionary (il permet de voir facilement si une valeur est déjà présente)
https://www.cjoint.com/?0FopAA5StJf

bonne suite
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
on peut aussi chosrir au hasard 100 valeurs différentes dans la colonne 15
0
Christof422 Messages postés 871 Date d'inscription   Statut Membre Dernière intervention   212
 

'Déclaration des variables 
Dim m As Integer
Dim u As Integer
Dim casevide As Integer
Dim tableau02(100) As String



For m = 1 To 100
For u = 1 To 100

If Cells(m, 15).Value = tableau02(u) Then
Exit For
End If
    If tableau02(u) = "" Then
    casevide = u
    End If
  If u = 100 Then
  tableau02(casevide) = Cells(m, 15).Value
  End If
     
Next u
Next m



Avec ce code on tri et enregistre le contenu des cellule Ox dans le tableau.

Est-ce que cela peut marcher?

Le premier pas vers la solution est la recherche. Notre ami Google connaît sûrement la solution...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Kafiristanica Messages postés 266 Date d'inscription   Statut Membre Dernière intervention   28
 
Je sais pas si c'est ce que tu veux mais faire un modulo 100 ne marcherait pas ?
-1
antipolis a Messages postés 15609 Date d'inscription   Statut Membre Dernière intervention   2 859
 
Bonjour.

Voici une fonction VBA qui permet de générer un nombre aléatoire entre 2 bornes

Public Function RandomNumber(Lowest As Long, Highest As Long)
' Generates a random whole number within a given range
Randomize
RandomNumber = Int(Rnd * (Highest + 1 - Lowest)) + Lowest
End Function
-1