Aide à la création d'une macro

petitdudup

XLDnaute Nouveau
Bonjour

Je souhaiterai créer une macro qui me selectionne une valeur toute les 250 lignes sur l'ensemble d'une colonne.
En gros je souhaite que excel me selectionne la valeur en A1 puis en A251 puis en A501 et ainsi de suite jusqu'a la fin la colonne.

Et si possible j'aimerai qu'il m'affiche les valeurs qu'il a selectionné dans la colonne B

Merci de votre aide
 

Papou-net

XLDnaute Barbatruc
Re : Aide à la création d'une macro

bonjour petitdudup,

Voici un exemple de code :

P
Code:
rivate Sub Macro()
For lg = 1 To Rows.Count Step 250
  If Cells(lg, 1) = "" Then Exit Sub
  Cells(lg, 2) = Cells(lg, 1)
Next
End Sub
Tu peux l'affecter à un bouton sur ta feuille de calcul ou lui définir un raccourci.

Cette macro agira par défaut sur la feuille affichée à l'écran.

Bon courage.

Cordialement.
 

petitdudup

XLDnaute Nouveau
Re : Aide à la création d'une macro

bonjour petitdudup,

Voici un exemple de code :

P
Code:
rivate Sub Macro()
For lg = 1 To Rows.Count Step 250
  If Cells(lg, 1) = "" Then Exit Sub
  Cells(lg, 2) = Cells(lg, 1)
Next
End Sub
Tu peux l'affecter à un bouton sur ta feuille de calcul ou lui définir un raccourci.

Cette macro agira par défaut sur la feuille affichée à l'écran.

Bon courage.

Cordialement.

Merci de ton aide... C'est cool pour les selections ! Maintenant j'aimerai juste aussi pouvoir faire en sorte que toutes les valeurs selectionnées soient listées a la suite (genre B1;B2,B3,....)
Je suis désolé je n'y connai rien en prog !

Merci
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Aide à la création d'une macro

pour l'instant ta macro ne m'affiche que la première valeur dans la case B1 !

Normal, j'avais compris que les valeurs en colonne B devaient s'afficher sur les mêmes lignes qu'en A.

Voici donc le code corrigé, et je te joins par la même occasion un fichier exemple. J'ai ajouté queleques explications dans le code, mais il te reste toujours la touche F1 si tu désires plus de précision sur chaque instruction (c'est une façon d'apprendre, et pas des moindres).

Voilà, j'espère avoir répondu à ta demande.

A +

Cordialement.
 

Pièces jointes

  • petitdudup.xlsm
    29.8 KB · Affichages: 33

petitdudup

XLDnaute Nouveau
Re : Aide à la création d'une macro

Je suis désolé j'ai l'impression d'etre tres ennuyeux... mais en fait j'aimerai sur l'exemple voir afficher la valeur 1 en B1, la valeur 251 en B2, la valeur 501 en B3,...

et je n'arrive pas a trouver tes explications, ni voir le code de la macro (parce que tu a cree un bouton :()
En tout cas merci de ton aide !
 

Papou-net

XLDnaute Barbatruc
Re : Aide à la création d'une macro

Salut tdenfert,

RE petitdudup,

Et bien ça commence à se préciser, voilà qui est très clair maintenant.

Vois donc le résultat sur le fichier joint.

Cordialement.
 

Pièces jointes

  • petitdudup 01.xlsm
    29.4 KB · Affichages: 28

Papou-net

XLDnaute Barbatruc
Re : Aide à la création d'une macro

RE petitdudup,

Le client a toujours raison !

Voici un fichier conforme à ton désir.

Bonne soiré.

Cordialement.

PS : pour voir le code, tu lances l'éditeur VBA (ALT + F11) et dans la fenêtre de gauche (Projet - VBA Project) tu double-cliques sur Feuil1(Feuil1) et le code s'affichera dans la fenêtre principale.
 

Pièces jointes

  • petitdudup 02.xlsm
    29.5 KB · Affichages: 26
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Aide à la création d'une macro

dernier petit embetement.. Quel est le code a rentrer pour avoir le meme rendu, tout pareil, mais en partant de la colonne B au lieu de la colonne A ?

Voici le code modifié :

Code:
Private Sub CommandButton1_Click()
Dim Lb As Integer ' Définit la variable de décalage de ligne vers le bas de B1
' boucle de lecture des cellules A1, A251, A501, ...
' cette lecture commence en ligne 1 (lg=1) jusqu'à la dernière ligne (rows.count) en sautant 250 lignes (Step 2520)
For lg = 1 To Rows.Count Step 250
  If Cells(lg, 2) = "" Then Exit For ' si la cellule est vide, inutile de continuer, on sort de la boucle
  Range("C1").Offset(Lb, 0) = Cells(lg, 2) ' affecte la valeur trouvée à la ligne libre du bas de la colonne B
  Lb = Lb + 1 ' Incrémente le décalage d'une colonne supplémentaire
Next
End Sub
Les références modifiées sont :

Cells(lg, 2) au lieu de Cells(lg, 1) et Range("C1") au lieu de Range("B1")

A +

Cordialement.
 

Discussions similaires

Réponses
2
Affichages
242
Réponses
12
Affichages
298

Statistiques des forums

Discussions
312 533
Messages
2 089 376
Membres
104 150
dernier inscrit
pape.so