Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Macro boucle

  • Initiateur de la discussion Initiateur de la discussion dilank
  • 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 !

dilank

XLDnaute Junior
Bonjour,

j'ai un problème avec ma macro. voir en PJ. Attention car elle ne s'arrete pas, j'ai dû oublier quelque chose mais je ne vois pas...

Merci pour votre aide.
 

Pièces jointes

Dernière édition:
Re : Macro boucle

Bonjour dilank, le forum,

En attendant que des personnes plus compétentes que moi te répondent (je suis un novice), voici une question que je me pose en regardant ton code :

VB:
Sub test()
Dim I As Integer
With Feuil2
  For I = 3 To .Range("AD" & Rows.Count).End(xlUp).Row
    If .Range("AE" & I) = "" Then
      .Range("J3") = .Range("AE" & J)
     Sheets("FEUILLE").PrintPreview
    End If
  Next I
End With
End Sub

Tu mets : Range("J3") = .Range("AE" & J)

Mais à quoi correspond "J" ?
Car tu de définit pas la variable et tu ne dis pas à quoi elle correspond.

Bien à toi,

AntoineM
 
Re : Macro boucle

je souhaite que la macro imprime chaque feuille (ici 1 à 13) et quand AE ou AD n'a plus de chiffre que cela s'arrete.
Mais bien sûr il n'y a jamais le même nombre de feuille à imprimer. Les colonnes AD ou AE peuvent aller jusqu'à 300 par exemple et donc la macro imprime les 300 feuilles et s'arrête.
 
Re : Macro boucle

Tu peux essayer le code suivant :
Code:
Sub impression()
Dim d As Object
Dim c As Variant
Dim a As Range

Set d = CreateObject("scripting.dictionary")
Set a = Range("ae1:ae" & [ae65000].End(xlUp).Row)
    
    For Each c In a
        If c <> "" Then d(c.Value) = c.Offset(, 1).Value
    Next c
    
    For Each c In d.keys
        [b13].Value = d(c)
            ActiveSheet.PrintPreview
    Next c
End Sub
 
Re : Macro boucle

hum je ne comprends pas trop ta macro ... je voulais faire par rapport a la liste en J3 du coup en changeant b13 par j3 cela intègre les donnée en AF à la place de AE.. et avec ton code je ne vois pas où je peux décaler...
 
Re : Macro boucle

Dim d As Object
Dim c As Variant
Dim a As Range

Set d = CreateObject("scripting.dictionary")
Set a = Range("ae1:ae" & [ae65000].End(xlUp).Row)

For Each c In a
If c <> "" Then d(c.Value) = c.Offset(, 0).Value
Next c

For Each c In d.keys
[j3].Value = d(c)
ActiveSheet.PrintPreview
Next c
End Sub


j'ai mis comme ceci, c'est avec un chiffre 1,2 ,3 etc... donc en J3 que ma feuille change et avec mes formules etc...
c'est bon thebenoit59.
Merci beaucoup de ton aide.
 
Re : Macro boucle

Code:
Dim d As Object
Dim c As Variant
Dim a As Range

Set d = CreateObject("scripting.dictionary")
Set a = Range("ae1:ae" & [ae65000].End(xlUp).Row)

For Each c In a
If c <> "" Then d(c.Value) = ""
Next c

For Each c In d.keys
[j3].Value = c
ActiveSheet.PrintPreview
Next c
End Sub

Ca sera plus propre.
 
- 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

  • Question Question
Autres MACRO
Réponses
20
Affichages
564
Réponses
18
Affichages
419
Réponses
6
Affichages
432
  • Question Question
Microsoft 365 Bloccage Excel
Réponses
1
Affichages
330
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…