Je ne réussis pas à faire une boucle , elle bloque sur la premiè

Résolu/Fermé
micheleliane Messages postés 76 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 15 janvier 2015 - 28 nov. 2014 à 22:57
micheleliane Messages postés 76 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 15 janvier 2015 - 10 déc. 2014 à 08:12
BONSOIR A TOUT LE FORUM.
Je ne réussis pas à faire une boucle , elle bloque sur la première donnée.

Sub AAselecCELetFUSIONautre()
'BLOQUE SUR LE PREMIER
Dim CelleLa As Variant

For Each CelleLa In Worksheets("Feuil1").Range("A1:A5000").Cells

Dim sht As Worksheet: Set sht = ThisWorkbook.Worksheets("Feuil1")
Dim rng As Range: Set rng = sht.Range("A1:A5000")
Dim nChrono$: nChrono = "M.ou Mme"
With rng.Find(nChrono)
Range(.Offset(-2, 0), .Offset(-2, 2)).Select
Selection.MergeCells = True
Range(.Offset(-2, 4), .Offset(-2, 7)).Select
Selection.MergeCells = True
End With
Next CelleLa

End Sub

DOSSIER CI-JOINT https://www.cjoint.com/?DKCwSlVap7m

Merci de votre aide.
micheleliane
A voir également:

6 réponses

NHenry Messages postés 15118 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 11 mai 2024 332
28 nov. 2014 à 23:08
Bonsoir,

As-tu mis un point d'arrêt (F9) et avancé en pas à pas (F8) et regardé les valeurs des éléments (Shift+F9) ?
0
micheleliane Messages postés 76 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 15 janvier 2015
29 nov. 2014 à 07:25
Bonjour NHenry
Merci de ta réponse, mais je suis faible en VBA.
J'avais fait le pas à pas la macro tourne normalement
jusqu'au-bout et sur le travail reste bloquée.
Je connaissais pas (Shift+F9) cela me dit pas d'expression espionne sélectionnée.
Merci encore de t'on aide.
micheleliane
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 29/11/2014 à 09:35
Bonjour

Normal car ta ligne
For Each CelleLa In Worksheets("Feuil1").Range("A1:A5000").Cells 
est placée car, Après, tu réinitialises la plage à A1:A5000, donc on repart sur A1
D'autre part évite au maximum les cellules fusionnées ( véritable poison pour la suite) mais opte plutôt pour "centré sur plusieurs colonnes"
dans le code ci dessous, on ne boucle que sur le nombre de Nchrono


Sub aménager_tableau()
Dim Nchrono As String
Dim Nbre As Integer, Lig As Integer, Cptr As Integer
Dim Concat As String

'fige le défilement de l'écran=rapidité, confort visuel
Application.ScreenUpdating = False
Nchrono = "M.ou Mme "

Sheets(1).Activate
Nbre = Application.CountIf(Columns("A"), Nchrono) 'compte le nombre de nchrono
Lig = 1
'on ne boucle que sur le nombre de Nchrono
For Cptr = 1 To Nbre
' lig= 2 lignes au dessus de nchrono
Lig = Columns("A").Find(Nchrono, Cells(Lig, "A"), xlValues).Row - 2
'centre le texte "M. Xyz" sur colonnes A et B
Range(Cells(Lig, "A"), Cells(Lig, "B")).HorizontalAlignment = xlCenterAcrossSelection
'inscrit la concaténation col D & E et centre sur colonnes D à G
Concat = Cells(Lig, "D") & " " & Cells(Lig, "E")
Range(Cells(Lig, "D"), Cells(Lig, "E")).ClearContents
Cells(Lig, "D") = Concat
Range(Cells(Lig, "D"), Cells(Lig, "G")).HorizontalAlignment = xlCenterAcrossSelection
Lig = Lig + 2
Next

End Sub



Michel
0
micheleliane Messages postés 76 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 15 janvier 2015
9 déc. 2014 à 22:53
Bonsoir à tous et surtout à MICHEL_M pour le travail et les explications de macro
Mil et mil excusent MICHEL_M car c'est bien votre macro que j'ai utilisée je viens d'ouvrir
mon MAIL à l'instant et suis sidérer de ne pas avoir remarqué que le poste ne venais pas
de NHenry.
Depuis j'ai travaillé avec votre macro et modifié certain de mes dossiers.
MICHEL_M VEUILLEZ ACCEPTER MES EXCUSES LES PLUS SINCÈRES .
Remerciement à tous pour l'aide que vous nous apportez .
micheleliane
0

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

Posez votre question
micheleliane Messages postés 76 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 15 janvier 2015
10 déc. 2014 à 08:12
Bonsoir à tous et surtout à MICHEL_M pour le travail et les explications de macro
Mille et mille excuses MICHEL_M car c'est bien votre macro que j'ai utilisée je viens d'ouvrir mon MAIL à l'instant et suis sidérer de ne pas avoir remarqué que le poste ne venais pas de NHenry.
Depuis j'ai travaillé avec votre macro et modifié certain de mes dossiers.
MICHEL_M VEUILLEZ ACCEPTER MES EXCUSES LES PLUS SINCÈRES .
Remerciement à tous pour l'aide que vous nous apportez .
micheleliane
Encore MERCI MICHEL_M et mille excuses et MERCI à NHENRY et tous les personnes qui aident.
Commenter la réponse de micheleliane - Modifier
0
micheleliane Messages postés 76 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 15 janvier 2015
29 nov. 2014 à 11:08
re Bonjour NHenry

Merci de ta réponse avec explication très rapide et surtout efficace.
J'avais vue "centré sur plusieurs colonnes" mais pas réussi à mettre en application,
Je vais essayer de la comprendre, les explications sont bien précise.
J'espère ne pas avoir besoin de vos connaissances pour cette année
aussi je vous souhaite ainsi qu'a tout le forum des bonnes fêtes.
MERCI et encore MERCI NHenry
micheleliane
-1