Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion breeze
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

breeze

XLDnaute Occasionnel
Bonjour à tous,
J'utilise une macro qui me permet de verser des noms d'élèves dans 4 colonnes différentes
Voici la macro

Sheets("feuil1").Select
Range("g25").Select
Selection.Copy
Sheets("maison").Select
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("a2").Select
Selection.Copy

If Range("a1") = 1 Then Sheets("maison").Select Range("e4").Select
If Range("a1") = 2 Then Sheets("maison").Select Range("m4").Select
If Range("a1") = 3 Then Sheets("maison").Select Range("u4").Select
If Range("a1") = 4 Then Sheets("maison").Select Range("ac4").Select
If ActiveCell.Offset(1, 0) = "" Then
ActiveCell.Offset(1, 0).PasteSpecial Paste:=xlValues, Transpose:=False
Application.CutCopyMode = False
Range("t1").Select
Sheets("feuil1").Select
Range("e11").Select
Else
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).PasteSpecial Paste:=xlValues, Transpose:=False
Application.CutCopyMode = False
Range("t1").Select
Sheets("feuil1").Select
Range("i1").Select
Range("e11").Select
End If
End Sub


Jusque là ça va. Ce que je voudrais c'est que lorsque j'atteind la ligne 25 on saute à la ligne 28

Donc quand j'arrive à E25 le prochain nom ira en e28 la même chose quand j'arriverai en M25 on sautera en M28 etc...

Je suppose que c'est dans la partie de la macro ou je dit "Selection.End(xldown)??
Est-ce possible ?

Merci
 
Re : Selection.

Bonjour ,

Dommage de ne pas avoir mis un fichier exemple , j'aurais pu tester plus finement.

Par rapport au code original , j'ai supposé que le traitement consistait à ce que j'ai écrit .

Bon une petite évolution d'écriture , mais tu es ici pour apprendre , non ?

Alors voici ma proposition, si ensuite tu veux aussi faire un saut de page en ligne 52 , trés facilement modifiable


Code:
Option Explicit
Sub test()
Dim Boite As String
Dim Ligne As Long
'Mise en référence de la feuille maison
 With Sheets("maison")
  'Transfert de la cellule G25 de feuil1 vers cellule B1 de maison
   .Range("B1") = Sheets("feuil1").Range("g25").Value
  'Choix de destination en fonction de cellule A1 feuille maison
   If .Range("a1") = 1 Then Boite = "e"
   If .Range("a1") = 2 Then Boite = "m"
   If .Range("a1") = 3 Then Boite = "u"
   If .Range("a1") = 4 Then Boite = "ac"
 
  'Calcul de la premiére ligne libre
   Ligne = Range(Boite & Rows.Count).End(xlUp).Row + 1
  'Saut de ligne si ligne 25 dépassée
   If Ligne = 26 Then Ligne = 28
  'Transfert de cellule A2 vers la ligne calculée de la colonne boite de la feuille maison
   .Range(Boite & Ligne) = Range("a2").Value
 End With
 
 'Retour en feuil1 cellule E11
 Sheets("feuil1").Activate
 Range("e11").Select
 End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
175
Réponses
10
Affichages
791
Réponses
2
Affichages
398
Réponses
18
Affichages
597
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…