Ce code fonctionne? Par conséquent, tu as résolu le problème résolu! Bravo. Feuil54.Range( _ Feuil54.Cells(Feuil54.Range("CN_FMDetTotIdentifZone").Row + 1, Feuil54.Range("CN_FMDetTotIdentifZone").Column), _ Feuil54.Cells(Feuil54.Range("CN_FMDetTotIdentifZone").Row + Feuil54.Range("CN_FMDetTotIdentifZone").Rows.Count - 2, Feuil54.Range("CN_FMDetTotIdentifZone").Column)).SpecialCells(xlCellTypeBlanks).Offset(0, -36).UnMerge Je n'ai pas testé, mais ce qui suit est l'équivalent. Pour moi, la lecture du code devient plus simple! C'est une question de goût... With Feuil54 With .Range("CN_FMDetTotIdentifZone") .Range(.Cells(.Row + 1, .Column), .Cells(.Row + Rows.Count - 2, .Column)).SpecialCells(xlCellTypeBlanks).Offset(0, -36).UnMerge End With End With On pourrait même raccourcir ce code, si ta plage nommées est déclarée au niveau du classeur et non de la feuille comme ceci : With Range("CN_FMDetTotIdentifZone") .Range(.Cells(.Row + 1, .Column), .Cells(.Row + Rows.Count - 2, .Column)).SpecialCells(xlCellTypeBlanks).Offset(0, -36).UnMerge End With MichD
Je n'ai pas testé, mais ce qui suit est l'équivalent. Pour moi, la
lecture du code devient plus simple! C'est une question de goût...
With Feuil54
With .Range("CN_FMDetTotIdentifZone")
.Range(.Cells(.Row + 1, .Column), .Cells(.Row + Rows.Count - 2,
.Column)).SpecialCells(xlCellTypeBlanks).Offset(0, -36).UnMerge
End With
End With
On pourrait même raccourcir ce code, si ta plage nommées est déclarée au
niveau du classeur et non de la feuille comme ceci :
With Range("CN_FMDetTotIdentifZone")
.Range(.Cells(.Row + 1, .Column), .Cells(.Row + Rows.Count - 2,
.Column)).SpecialCells(xlCellTypeBlanks).Offset(0, -36).UnMerge
End With
Ce code fonctionne? Par conséquent, tu as résolu le problème résolu! Bravo. Feuil54.Range( _ Feuil54.Cells(Feuil54.Range("CN_FMDetTotIdentifZone").Row + 1, Feuil54.Range("CN_FMDetTotIdentifZone").Column), _ Feuil54.Cells(Feuil54.Range("CN_FMDetTotIdentifZone").Row + Feuil54.Range("CN_FMDetTotIdentifZone").Rows.Count - 2, Feuil54.Range("CN_FMDetTotIdentifZone").Column)).SpecialCells(xlCellTypeBlanks).Offset(0, -36).UnMerge Je n'ai pas testé, mais ce qui suit est l'équivalent. Pour moi, la lecture du code devient plus simple! C'est une question de goût... With Feuil54 With .Range("CN_FMDetTotIdentifZone") .Range(.Cells(.Row + 1, .Column), .Cells(.Row + Rows.Count - 2, .Column)).SpecialCells(xlCellTypeBlanks).Offset(0, -36).UnMerge End With End With On pourrait même raccourcir ce code, si ta plage nommées est déclarée au niveau du classeur et non de la feuille comme ceci : With Range("CN_FMDetTotIdentifZone") .Range(.Cells(.Row + 1, .Column), .Cells(.Row + Rows.Count - 2, .Column)).SpecialCells(xlCellTypeBlanks).Offset(0, -36).UnMerge End With MichD
MichD
si ton problème n'est pas résolu, Donne-moi l'adresse de la plage nommée "CN_FMDetTotIdentifZone" et l'adresse des cellules fusionnées. Après ton tri, il y a de fortes chances que ces cellules soient déplacées et par conséquent, qu'elles aient une nouvelle adresse. Tu veux fusionner la plage de cellules originales et de la plage nommée et des cellules fusionnées ou leurs nouvelles adresses suite au tri? J'y jetterai un oeil cet après-midi. MichD
si ton problème n'est pas résolu,
Donne-moi l'adresse de la plage nommée "CN_FMDetTotIdentifZone" et
l'adresse des cellules fusionnées.
Après ton tri, il y a de fortes chances que ces cellules soient
déplacées et par conséquent, qu'elles aient une nouvelle adresse.
Tu veux fusionner la plage de cellules originales et de la plage nommée
et des cellules fusionnées ou leurs nouvelles adresses suite au tri?
si ton problème n'est pas résolu, Donne-moi l'adresse de la plage nommée "CN_FMDetTotIdentifZone" et l'adresse des cellules fusionnées. Après ton tri, il y a de fortes chances que ces cellules soient déplacées et par conséquent, qu'elles aient une nouvelle adresse. Tu veux fusionner la plage de cellules originales et de la plage nommée et des cellules fusionnées ou leurs nouvelles adresses suite au tri? J'y jetterai un oeil cet après-midi. MichD
Roland Miller
Encore merci. Mais … Concernant Donne-moi l'adresse de la plage nommée "CN_FMDetTotIdentifZ one" Disons … AP15:AP7800 et l'adresse des cellules fusionnées … bien je peux difficilem ent donner l'adresse de celles-ci car ce sont plusieurs plages de cellules dans la colonne F … une fois défusionnées. Elles sont le résultat du SpecialCells(XLTypeBlanks. Une fois le tri effectué … il est facile de sélectionner de nouveau ces mêmes cellules car je refais tout simplement le Special Cells(XLTypeBlanks dans la colonne AP (CN_FMDetTotIdentifZone) Lorsque je relis ce que vous avez écrit … je me dis que peut- être que ce n'est pas clair. Si ça peux aider ... Par exemple … - Suite au Specialcells(XLTypeBlanks … disons que j'ai les cellules F10:G10, F129:G129, F7800:G7800 de sélectionnées. - Je fais Selection.Unmerge. Alors … je me retrouve avec les cellul es F10, F129, F7800 de sélectionnées. - Vu que ces cellules ne sont plus fusionnées … cela me permet de faire un tri et alors de supprimer d'autres lignes … augmentant de façon importante la rapidité de la suppression des lignes. - Oui les cellules défusionnées … ne sont plus à la même adresse. Mais on s'en fou car en faisant de nouveau le SpecialCel ls(XLTypeBlanks sur la colonne AP (CN_FMDetTotIdentifZone)je sélection ne à nouveau les cellules dans la colonne F. (Offset(0,-36) - À ce moment disons que jai les cellules F17, F95, F7532 sont sé lectionnées suite au SpecialCells(XLTypeBlanks. - C'est là que je cherche à faire un merge avec les cellules de l a colonne G … sans faire de boucle. - Par exemple je voudrais fusionner F17 avec G17, F95 avec G95, F7532 avec G7532. - Dans mon exemple je donne seulement 3 cellules. Mais en réalité il peut en avoir 700.
Encore merci.
Mais …
Concernant Donne-moi l'adresse de la plage nommée "CN_FMDetTotIdentifZ one"
Disons … AP15:AP7800
et l'adresse des cellules fusionnées … bien je peux difficilem ent donner l'adresse de celles-ci car ce sont plusieurs plages de cellules dans la colonne F … une fois défusionnées. Elles sont le résultat du SpecialCells(XLTypeBlanks.
Une fois le tri effectué … il est facile de sélectionner de nouveau ces mêmes cellules car je refais tout simplement le Special Cells(XLTypeBlanks dans la colonne AP (CN_FMDetTotIdentifZone)
Lorsque je relis ce que vous avez écrit … je me dis que peut- être que ce n'est pas clair. Si ça peux aider ...
Par exemple …
- Suite au Specialcells(XLTypeBlanks … disons que j'ai les cellules F10:G10, F129:G129, F7800:G7800 de sélectionnées.
- Je fais Selection.Unmerge. Alors … je me retrouve avec les cellul es F10, F129, F7800 de sélectionnées.
- Vu que ces cellules ne sont plus fusionnées … cela me permet de faire un tri et alors de supprimer d'autres lignes … augmentant de façon importante la rapidité de la suppression des lignes.
- Oui les cellules défusionnées … ne sont plus à la même adresse. Mais on s'en fou car en faisant de nouveau le SpecialCel ls(XLTypeBlanks sur la colonne AP (CN_FMDetTotIdentifZone)je sélection ne à nouveau les cellules dans la colonne F. (Offset(0,-36)
- À ce moment disons que jai les cellules F17, F95, F7532 sont sé lectionnées suite au SpecialCells(XLTypeBlanks.
- C'est là que je cherche à faire un merge avec les cellules de l a colonne G … sans faire de boucle.
- Par exemple je voudrais fusionner F17 avec G17, F95 avec G95, F7532 avec G7532.
- Dans mon exemple je donne seulement 3 cellules. Mais en réalité il peut en avoir 700.
Encore merci. Mais … Concernant Donne-moi l'adresse de la plage nommée "CN_FMDetTotIdentifZ one" Disons … AP15:AP7800 et l'adresse des cellules fusionnées … bien je peux difficilem ent donner l'adresse de celles-ci car ce sont plusieurs plages de cellules dans la colonne F … une fois défusionnées. Elles sont le résultat du SpecialCells(XLTypeBlanks. Une fois le tri effectué … il est facile de sélectionner de nouveau ces mêmes cellules car je refais tout simplement le Special Cells(XLTypeBlanks dans la colonne AP (CN_FMDetTotIdentifZone) Lorsque je relis ce que vous avez écrit … je me dis que peut- être que ce n'est pas clair. Si ça peux aider ... Par exemple … - Suite au Specialcells(XLTypeBlanks … disons que j'ai les cellules F10:G10, F129:G129, F7800:G7800 de sélectionnées. - Je fais Selection.Unmerge. Alors … je me retrouve avec les cellul es F10, F129, F7800 de sélectionnées. - Vu que ces cellules ne sont plus fusionnées … cela me permet de faire un tri et alors de supprimer d'autres lignes … augmentant de façon importante la rapidité de la suppression des lignes. - Oui les cellules défusionnées … ne sont plus à la même adresse. Mais on s'en fou car en faisant de nouveau le SpecialCel ls(XLTypeBlanks sur la colonne AP (CN_FMDetTotIdentifZone)je sélection ne à nouveau les cellules dans la colonne F. (Offset(0,-36) - À ce moment disons que jai les cellules F17, F95, F7532 sont sé lectionnées suite au SpecialCells(XLTypeBlanks. - C'est là que je cherche à faire un merge avec les cellules de l a colonne G … sans faire de boucle. - Par exemple je voudrais fusionner F17 avec G17, F95 avec G95, F7532 avec G7532. - Dans mon exemple je donne seulement 3 cellules. Mais en réalité il peut en avoir 700.
MichD
Je t'ai fait un fichier exemple. Comme je n'ai pas vu ton fichier, tu devras possiblement faire des ajustements. https://www.cjoint.com/c/IGzsdgLPaZj MichD
Je t'ai fait un fichier exemple. Comme je n'ai pas vu ton fichier, tu
devras possiblement faire des ajustements.
Je t'ai fait un fichier exemple. Comme je n'ai pas vu ton fichier, tu devras possiblement faire des ajustements. https://www.cjoint.com/c/IGzsdgLPaZj MichD
MichD
Le 25/07/19 à 14:06, MichD a écrit :
Je t'ai fait un fichier exemple. Comme je n'ai pas vu ton fichier, tu devras possiblement faire des ajustements. https://www.cjoint.com/c/IGzsdgLPaZj MichD
Tu peux ajouter en début de procédure, dans la procédure générale : Application.ScreenUpdating = False Dans ta procédure générale, tu peux seulement appeler les procédures au moment opportun Call NomDeLaProcédure et la mettre à True à la fin de la procédure. MichD
Le 25/07/19 à 14:06, MichD a écrit :
Je t'ai fait un fichier exemple. Comme je n'ai pas vu ton fichier, tu
devras possiblement faire des ajustements.
https://www.cjoint.com/c/IGzsdgLPaZj
MichD
Tu peux ajouter en début de procédure, dans la procédure générale :
Application.ScreenUpdating = False
Dans ta procédure générale, tu peux seulement appeler les procédures au
moment opportun
Call NomDeLaProcédure
Je t'ai fait un fichier exemple. Comme je n'ai pas vu ton fichier, tu devras possiblement faire des ajustements. https://www.cjoint.com/c/IGzsdgLPaZj MichD
Tu peux ajouter en début de procédure, dans la procédure générale : Application.ScreenUpdating = False Dans ta procédure générale, tu peux seulement appeler les procédures au moment opportun Call NomDeLaProcédure et la mettre à True à la fin de la procédure. MichD
Roland Miller
Merci … beaucoup. Je vais adapter et tester et vous revenir avec le feedback. Je serais curieux d'avoir votre opinion sur ceci. Dans cette feuille … j'ai actuellement presque 7900 lignes sur lesq uelles je devrai faire des filtres. À votre avis et selon votre expérience … disons que j'aur ais plutôt 40 000 lignes … sur lesquelles je devrai aussi fair e des filtres … y verrait-on des problèmes de lenteur, afficha ge ou autres?
Merci … beaucoup. Je vais adapter et tester et vous revenir avec le feedback.
Je serais curieux d'avoir votre opinion sur ceci.
Dans cette feuille … j'ai actuellement presque 7900 lignes sur lesq uelles je devrai faire des filtres.
À votre avis et selon votre expérience … disons que j'aur ais plutôt 40 000 lignes … sur lesquelles je devrai aussi fair e des filtres … y verrait-on des problèmes de lenteur, afficha ge ou autres?
Merci … beaucoup. Je vais adapter et tester et vous revenir avec le feedback. Je serais curieux d'avoir votre opinion sur ceci. Dans cette feuille … j'ai actuellement presque 7900 lignes sur lesq uelles je devrai faire des filtres. À votre avis et selon votre expérience … disons que j'aur ais plutôt 40 000 lignes … sur lesquelles je devrai aussi fair e des filtres … y verrait-on des problèmes de lenteur, afficha ge ou autres?
MichD
Le 26/07/19 à 10:12, Roland Miller a écrit :
y verrait-on des problèmes de lenteur
Pas vraiment, cela dépend aussi du nombre de colonnes et de la complexité des formules que l'on peut utiliser sur des critères multiples dans des filtres avancés. Cela devrait bien se passer! MichD
Le 26/07/19 à 10:12, Roland Miller a écrit :
y verrait-on des problèmes de lenteur
Pas vraiment, cela dépend aussi du nombre de colonnes et de la
complexité des formules que l'on peut utiliser sur des critères
multiples dans des filtres avancés. Cela devrait bien se passer!
Pas vraiment, cela dépend aussi du nombre de colonnes et de la complexité des formules que l'on peut utiliser sur des critères multiples dans des filtres avancés. Cela devrait bien se passer! MichD