Inserer un saut de page par macro Excel [Résolu]

Messages postés
6
Date d'inscription
lundi 9 août 2010
Dernière intervention
30 avril 2012
- 5 juil. 2011 à 11:45 - Dernière réponse :
Messages postés
6
Date d'inscription
lundi 9 août 2010
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
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
23284
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
19 novembre 2018
- 6 juil. 2011 à 11:20
3
Merci
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

Merci jordane45 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de jordane45
Messages postés
23284
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
19 novembre 2018
- 5 juil. 2011 à 13:45
0
Merci
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
Commenter la réponse de jordane45
Messages postés
6
Date d'inscription
lundi 9 août 2010
Dernière intervention
30 avril 2012
- 5 juil. 2011 à 16:34
0
Merci
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
Commenter la réponse de midge1
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- 5 juil. 2011 à 16:39
0
Merci
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
Commenter la réponse de ucfoutu
Messages postés
6
Date d'inscription
lundi 9 août 2010
Dernière intervention
30 avril 2012
- 6 juil. 2011 à 10:57
0
Merci
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
Commenter la réponse de midge1
Messages postés
23284
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
19 novembre 2018
- 6 juil. 2011 à 11:18
0
Merci
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
Commenter la réponse de jordane45
Messages postés
6
Date d'inscription
lundi 9 août 2010
Dernière intervention
30 avril 2012
- 11 juil. 2011 à 14:53
0
Merci
] merci à toi jordane, cela fonctionne parfaitement !

c'est gentil de ta part de m'avoir aide
Cdlmt M
Commenter la réponse de midge1

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.