Inserer un saut de page par macro Excel

Résolu
midge1 Messages postés 6 Date d'inscription lundi 9 août 2010 Statut Membre Dernière intervention 30 avril 2012 - 5 juil. 2011 à 11:45
midge1 Messages postés 6 Date d'inscription lundi 9 août 2010 Statut Membre Dernière intervention 30 avril 2012 - 11 juil. 2011 à 14:53
Bonjour
j'ai un souci par rapport à une boucle (car débutant) :
j'ai des valeurs alphanumériques et voudrai que la macro insère un saut de page à chaque changement de valeur numérique.
Exemple : 50aa 50 bb 50 cc "ici saut de page" 51aa 51bb 51cc

suis parti de :
For i = LastLig To 2 Step -1
If .Range ("A" & i).Value <> Range ("A" & i - 1).Value Then HPageBreaks.Insert

mais la requête bug (erreur compilation 9 ?)
j'ai essayé avec une insertion de ligne, ça marche mais il n'insère pas au bon endroit car il n'y a pas de distinction entre le numérique et l'alphabétique ... quelqu'un aurait une idée ou une astuce ?
MERCI d'avance pour toute aide

7 réponses

jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 344
6 juil. 2011 à 11:20
Bonjour,
ah non.. je viens de comprendre.
désolé.

Par contre tes chiffres sont toujours sur les deux premiers caractères ?
Si oui, tu peux utiliser la fonction "left"

If left(range("A"&i).value,2) <> left(range("A"&i+1).value,2) then..


Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI

PS: Merci d'utiliser les balises de
3
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 344
5 juil. 2011 à 13:45
Bonjour,

essayes ça :

    For i = LastL To 2 Step -1
        If Range("A" & i).Value <> Range("A" & i + 1).Value Then
            Range("A" & (i + 1)).Activate
            ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
        End If
    Next
End Sub


PS: Penses à utiliser les balises de codes quand tu postes sur le forum
PS² : Si la réponse te convients penses à mettre le sujet en résolu.

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
midge1 Messages postés 6 Date d'inscription lundi 9 août 2010 Statut Membre Dernière intervention 30 avril 2012
5 juil. 2011 à 16:34
merci beaucoup pour le code, je le teste et penserai à résoudre le sujet le cas échéant (désolé pour l'absence de balise, j'ai posté un peu dans la précipitation
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
5 juil. 2011 à 16:39
Bonjour,
à Jordane :
Ton activation est ici superflue et ralentissante.
Ton code s'écrit plus agilement ainsi :
For i = 10 To 2 Step -1
        If Range("A" & i).Value <> Range("A" & i + 1).Value Then
            ActiveSheet.HPageBreaks.Add Before:=Range("A" & (i + 1))
        End If
     Next


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0

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

Posez votre question
midge1 Messages postés 6 Date d'inscription lundi 9 août 2010 Statut Membre Dernière intervention 30 avril 2012
6 juil. 2011 à 10:57
bonjour,
j'ai testé le code gentiment fourni, pour le saut de page aucun souci, sauf qu'il n'est pas fait au bon endroit ... il me faudrait une astuce pour que le saut aie lieu lors des changements numériques et peu importe les lettres *
(dans une cellule j'ai comme valeur p.ex 50aa, la suivante 50bb , etc.
et à un moment la valeur passe à 51aa p.ex et c'est là que doit intervenir le saut ... une idée ?
dans la boucle je vois pas comment faire, peut-être faut-il essayer de virer les lettres dans les cellules pour qu'il n'y aie que du numérique ? et ça je ne sais pas faire, si on pouvait me guider vers quelque chose ... merci d'avance .
PS merci à ucfoutu pour la correction, j'en prends bien note
cdlmt
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 344
6 juil. 2011 à 11:18
Bonjour,

me faudrait une astuce pour que le saut aie lieu lors des changements numériques et peu importe les lettres *


je ne comprend pas ... au bon endroit ? c'est à dire ?
Où se fait le saut de page pour l'instant ?
Où devrait-il se faire ?

Peut importe qu'il y ai des lettres ou non... dans le code donné au dessus, on teste uniquement si la valeur de la cellule est identique ou non à la suivante et si oui. on insere un saut de page. ( c'est bien ce qui était demandé non ?).

Pourrais tu nous donner un peu plus d'infos sur le souci rencontré et éventuellement nous mettre un fichier en PJ ( en utilisant ci-joint.fr par exemple).


Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI

PS: Merci d'utiliser les balises de
0
midge1 Messages postés 6 Date d'inscription lundi 9 août 2010 Statut Membre Dernière intervention 30 avril 2012
11 juil. 2011 à 14:53
] merci à toi jordane, cela fonctionne parfaitement !

c'est gentil de ta part de m'avoir aide
Cdlmt M
0
Rejoignez-nous