Aide sur réalisation d'un programme VBA
guillaumesk850
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai de nombreux petits problemes sur la réalisation d'un programme VBA
Dans ce programme je créer une liste (listeRR1) dans laquelle j'insère des informations (sur un ligne et répartis dans 5 colonnes). Mes informations (dans la premiere colonne) donne un point kilométrique (de la forme 2450 pour 2km450m) et J'aimerais tout simplement ranger ces informations par ordre (du plus petit au plus grand) ... j'ai essayé un tas de choses mais je n'y arrive pas ... Voila ou j'en suis :
If Feuil2.Range("listeRR1").Cells(i, 1) < Feuil2.Range("listeRR1").Cells(i - 1, 1) Then
Feuil2.Range("listeRR1").Cells(i - 1, 1).EntireRow.Insert
'Feuil2.Range("listeRR1").[Cells(i, 1), Cells(i, 5)].Cut
'Feuil2.Range("listeRR1").[Cells(i - 1, 1)].Paste
End If
Explication : si la valeur que je viens de rentrer et plus petite que celle de la ligne au dessus, alors, j'insere une ligne entiere au dessus de la nouvelle valeur et je coupe (puis colle) la nouvelle valeur dans la ligne au dessus ...
SI cela vous semble incompréhensible je peux tenter de vous ré-expliquer ou de vous envoyer par mail mon fichier avec des annotations
Merci d'avance a tous
Bonne journée
Cordialement
J'ai de nombreux petits problemes sur la réalisation d'un programme VBA
Dans ce programme je créer une liste (listeRR1) dans laquelle j'insère des informations (sur un ligne et répartis dans 5 colonnes). Mes informations (dans la premiere colonne) donne un point kilométrique (de la forme 2450 pour 2km450m) et J'aimerais tout simplement ranger ces informations par ordre (du plus petit au plus grand) ... j'ai essayé un tas de choses mais je n'y arrive pas ... Voila ou j'en suis :
If Feuil2.Range("listeRR1").Cells(i, 1) < Feuil2.Range("listeRR1").Cells(i - 1, 1) Then
Feuil2.Range("listeRR1").Cells(i - 1, 1).EntireRow.Insert
'Feuil2.Range("listeRR1").[Cells(i, 1), Cells(i, 5)].Cut
'Feuil2.Range("listeRR1").[Cells(i - 1, 1)].Paste
End If
Explication : si la valeur que je viens de rentrer et plus petite que celle de la ligne au dessus, alors, j'insere une ligne entiere au dessus de la nouvelle valeur et je coupe (puis colle) la nouvelle valeur dans la ligne au dessus ...
SI cela vous semble incompréhensible je peux tenter de vous ré-expliquer ou de vous envoyer par mail mon fichier avec des annotations
Merci d'avance a tous
Bonne journée
Cordialement
A voir également:
- Aide sur réalisation d'un programme VBA
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Desinstaller un programme sur windows - Guide
- Forcer la fermeture d'un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
j'ai petit soucis pour sélectionner les cellules de ma liste :
With listeRR1
Range("Cells(i, 1):Cells(i, 5)").Select
qu'est ce qui n'est pas correct ?
Merci
il te faut enlever les guillemets, et mettre une virgule à la place des deux points, comme ceci :
sauriez vous comment contourner le probleme ?
Excusez l'incruste...
A l'intérieur d'un bloc With End With, il est possible de faire appel à des éléments contenus dans l'objet référencé, mais également à des éléments contenus dans des objets autres.
Pour faire appel ici, aux objets Range contenus dans l'objet WorkSheet référencé, il convient de mettre un point devant range.
Essaye cette procédure dans un nouveau classeur :