Contrairement à ce que j'ai dit il y a une heure à Daniel.C j'ai finalement
besoin de votre aide maintenant!
Lorsque sur n'importe quelle ligne de la colonne A il y a écrit "GPL" je
souhaite insérer une colonne entre la colonne E et la colonne F mais aussi
en insérer une entre H et J et enfin entre M et N.
Autre point, Daniel.C m'a donné une macro pour fusionner la colonne B et C
lorsqu'il y a écrit "GPL" dans la colonne A. La voici :
Sub test()
' Pour chaque de la plage A1 à la dernière cellule de la colonne A
For Each cell In Range("A1", Range("A65536").End(xlUp))
If cell = "GPL" And cell.Offset(, 2) = "" Then
cell.Offset(, 1).Resize(, 2).MergeCells = True
End If
Next cell
End Sub
Il y a-t-il une possibilité d'intégrer l'ajout de colonnes à cette formule?
Quelqu'un peut m'apporter une solution, s'il vous plait?
Sub test() Dim Var As Boolean For Each cell In Range("A1", Range("A65536").End(xlUp)) If cell = "GPL" And cell.Offset(, 2) = "" Then cell.Offset(, 1).Resize(, 2).MergeCells = True Var = True End If Next cell If Var = True Then Columns(6).Insert Columns(11).Insert Columns(16).Insert End If End Sub
Daniel
"JBF" a écrit dans le message de news:
Merci à tous pour votre aide precieuse.
Les deux dernières macros proposées par Daniel.C et MichDenis marchent toutes les deux, bien que différentes. Je n'ai que l'embarras du choix.
Je me demande maintenant si je peux associer la macro que m'a proposé Denis.C pour fusionner deux lignes lorsque il y a "GPL" dans la colonne A :
Sub test() ' Pour chaque de la plage A1 à la dernière cellule de la colonne A For Each cell In Range("A1", Range("A65536").End(xlUp)) If cell = "GPL" And cell.Offset(, 2) = "" Then cell.Offset(, 1).Resize(, 2).MergeCells = True End If Next cell End Sub
... avec la macro que vous venez tous deux de me proposer (je mets l'exemple de MichDenis pour ne pas qu'il y ait de jaloux!):
Sub test()
If Application.CountIf(Range("A1", Range("A65536").End(xlUp)), "GPL") > 0 Then Columns(6).Insert Columns(10).Insert Columns(14).Insert End If
End Sub
... afin de ne faire qu'une seule macro.
Ça c'était ma première interrogation.
Ensuite, je voudrais savoir si il est possible d'intégrer à cette macro une fonction qui lui permette de supprimer les colonnes et les lignes fusionnées si l'appellation "GPL" était amené à disparaître de la colonne A? Et ce, sans avoir à refaire une manip' pour exécuter la macro?
Encore merci pour votre assistance.
JBF
"JBF" a écrit dans le message de news:
Bonjour et merci pour ta contribution.
Cette macro produit la même bizarrerie que celle proposée par Daniel.C. Lorsque j'ai GPL plusieurs fois ds la colonne A ça insert bien plus de colonnes que ce qui est demandé.
Une autre idée?
Merci
"Frédéric Sigonneau" a écrit dans le message de news:
A mon avis, il pourrait suffire de sortir de la boucle dès qu'on a rencontré une fois "GPL" :
Sub test() For Each cell In Range("A1", Range("A65536").End(xlUp)) If cell = "GPL" Then Columns(6).Insert Columns(10).Insert Columns(14).Insert Exit For ' <- ici End If Next cell End Sub
oui j'ai fais le test justement mais le pb c'est que ça ne va pas si ça décale plus d'une colonne. Je comprends ton explication mais il faut que je trouve autre chose alors.
"Daniel.C" a écrit dans le message de news: %
Oui. La macro insère à chaque fois un colonne devant les colonnes F, J et N. A chaque décalage, les colonnes à droite de la colonne E sont décalées d'une colonne, celles à droite de la colonne I sont décalées de deux colonnes et celles situées à droite de la colonne M sont décalées de 3 colonnes. Tu peux le visualiser avec une feuille de test ou tu ne mettras qu'une cellule GPL en colonne A. Daniel "JBF" a écrit dans le message de news:
Cette macro fonctionne bizarrement. SI A1="GPL" ça insère les colonnes correctement entre E et F; I et J; M et N.
Par contre si j'ai "GPL" en A1 mais aussi en A3 alors ça insère 2 colonnes entre E et F; une entre I et J; une entre K et L; une entre M et N; et encore une entre P et Q.
Je comprends pas pkoi.
"Daniel.C" a écrit dans le message de news:
Essaie : Sub test() For Each cell In Range("A1", Range("A65536").End(xlUp)) If cell = "GPL" Then Columns(6).Insert Columns(10).Insert Columns(14).Insert End If Next cell End Sub
Daniel "JBF" a écrit dans le message de news:
Bonjour à tous,
Contrairement à ce que j'ai dit il y a une heure à Daniel.C j'ai finalement besoin de votre aide maintenant!
Lorsque sur n'importe quelle ligne de la colonne A il y a écrit "GPL" je souhaite insérer une colonne entre la colonne E et la colonne F mais aussi en insérer une entre H et J et enfin entre M et N.
Autre point, Daniel.C m'a donné une macro pour fusionner la colonne B et C lorsqu'il y a écrit "GPL" dans la colonne A. La voici :
Sub test() ' Pour chaque de la plage A1 à la dernière cellule de la colonne A For Each cell In Range("A1", Range("A65536").End(xlUp)) If cell = "GPL" And cell.Offset(, 2) = "" Then cell.Offset(, 1).Resize(, 2).MergeCells = True End If Next cell End Sub
Il y a-t-il une possibilité d'intégrer l'ajout de colonnes à cette formule?
Quelqu'un peut m'apporter une solution, s'il vous plait?
Merci
merci bcp. ça marche.
"Daniel.C" <dZZZcolardelle@free.fr> a écrit dans le message de news:
eY4bwZ8eIHA.4140@TK2MSFTNGP04.phx.gbl...
Sub test()
Dim Var As Boolean
For Each cell In Range("A1", Range("A65536").End(xlUp))
If cell = "GPL" And cell.Offset(, 2) = "" Then
cell.Offset(, 1).Resize(, 2).MergeCells = True
Var = True
End If
Next cell
If Var = True Then
Columns(6).Insert
Columns(11).Insert
Columns(16).Insert
End If
End Sub
Daniel
"JBF" <nospam-jbfield@free.fr> a écrit dans le message de news:
Onounn7eIHA.5348@TK2MSFTNGP03.phx.gbl...
Merci à tous pour votre aide precieuse.
Les deux dernières macros proposées par Daniel.C et MichDenis marchent
toutes les deux, bien que différentes.
Je n'ai que l'embarras du choix.
Je me demande maintenant si je peux associer la macro que m'a proposé
Denis.C pour fusionner deux lignes lorsque il y a "GPL" dans la colonne A
:
Sub test()
' Pour chaque de la plage A1 à la dernière cellule de la colonne A
For Each cell In Range("A1", Range("A65536").End(xlUp))
If cell = "GPL" And cell.Offset(, 2) = "" Then
cell.Offset(, 1).Resize(, 2).MergeCells = True
End If
Next cell
End Sub
... avec la macro que vous venez tous deux de me proposer (je mets
l'exemple de MichDenis pour ne pas qu'il y ait de jaloux!):
Sub test()
If Application.CountIf(Range("A1", Range("A65536").End(xlUp)), "GPL") > 0
Then
Columns(6).Insert
Columns(10).Insert
Columns(14).Insert
End If
End Sub
... afin de ne faire qu'une seule macro.
Ça c'était ma première interrogation.
Ensuite, je voudrais savoir si il est possible d'intégrer à cette macro
une fonction qui lui permette de supprimer les colonnes et les lignes
fusionnées si l'appellation "GPL" était amené à disparaître de la colonne
A? Et ce, sans avoir à refaire une manip' pour exécuter la macro?
Encore merci pour votre assistance.
JBF
"JBF" <nospam-jbfield@free.fr> a écrit dans le message de news:
eiQ1lx4eIHA.5984@TK2MSFTNGP06.phx.gbl...
Bonjour et merci pour ta contribution.
Cette macro produit la même bizarrerie que celle proposée par Daniel.C.
Lorsque j'ai GPL plusieurs fois ds la colonne A ça insert bien plus de
colonnes que ce qui est demandé.
Une autre idée?
Merci
"Frédéric Sigonneau" <nospam@nospam> a écrit dans le message de news:
enPnRl4eIHA.4744@TK2MSFTNGP06.phx.gbl...
A mon avis, il pourrait suffire de sortir de la boucle dès qu'on a
rencontré une fois "GPL" :
Sub test()
For Each cell In Range("A1", Range("A65536").End(xlUp))
If cell = "GPL" Then
Columns(6).Insert
Columns(10).Insert
Columns(14).Insert
Exit For ' <- ici
End If
Next cell
End Sub
oui j'ai fais le test justement mais le pb c'est que ça ne va pas si
ça décale plus d'une colonne. Je comprends ton explication mais il
faut que je trouve autre chose alors.
"Daniel.C" <dZZZcolardelle@free.fr> a écrit dans le message de news:
%23VnR0OveIHA.1824@TK2MSFTNGP02.phx.gbl...
Oui.
La macro insère à chaque fois un colonne devant les colonnes F, J et
N.
A chaque décalage, les colonnes à droite de la colonne E sont
décalées d'une colonne, celles à droite de la colonne I sont décalées
de deux colonnes et celles situées à droite de la colonne M sont
décalées de 3 colonnes.
Tu peux le visualiser avec une feuille de test ou tu ne mettras
qu'une cellule GPL en colonne A.
Daniel
"JBF" <nospam-jbfield@free.fr> a écrit dans le message de news:
ez7fV4ueIHA.4144@TK2MSFTNGP05.phx.gbl...
Cette macro fonctionne bizarrement.
SI A1="GPL" ça insère les colonnes correctement entre E et F; I et
J; M et N.
Par contre si j'ai "GPL" en A1 mais aussi en A3 alors ça insère 2
colonnes entre E et F; une entre I et J; une entre K et L; une entre
M et N; et encore une entre P et Q.
Je comprends pas pkoi.
"Daniel.C" <dZZZcolardelle@free.fr> a écrit dans le message de news:
eftFXtueIHA.3724@TK2MSFTNGP02.phx.gbl...
Essaie :
Sub test()
For Each cell In Range("A1", Range("A65536").End(xlUp))
If cell = "GPL" Then
Columns(6).Insert
Columns(10).Insert
Columns(14).Insert
End If
Next cell
End Sub
Daniel
"JBF" <nospam-jbfield@free.fr> a écrit dans le message de news:
OwHRJXueIHA.2448@TK2MSFTNGP03.phx.gbl...
Bonjour à tous,
Contrairement à ce que j'ai dit il y a une heure à Daniel.C j'ai
finalement besoin de votre aide maintenant!
Lorsque sur n'importe quelle ligne de la colonne A il y a écrit
"GPL" je souhaite insérer une colonne entre la colonne E et la
colonne F mais aussi en insérer une entre H et J et enfin entre M
et N.
Autre point, Daniel.C m'a donné une macro pour fusionner la
colonne B et C lorsqu'il y a écrit "GPL" dans la colonne A. La
voici :
Sub test()
' Pour chaque de la plage A1 à la dernière cellule de la
colonne A
For Each cell In Range("A1", Range("A65536").End(xlUp))
If cell = "GPL" And cell.Offset(, 2) = "" Then
cell.Offset(, 1).Resize(, 2).MergeCells = True
End If
Next cell
End Sub
Il y a-t-il une possibilité d'intégrer l'ajout de colonnes à cette
formule?
Quelqu'un peut m'apporter une solution, s'il vous plait?
Sub test() Dim Var As Boolean For Each cell In Range("A1", Range("A65536").End(xlUp)) If cell = "GPL" And cell.Offset(, 2) = "" Then cell.Offset(, 1).Resize(, 2).MergeCells = True Var = True End If Next cell If Var = True Then Columns(6).Insert Columns(11).Insert Columns(16).Insert End If End Sub
Daniel
"JBF" a écrit dans le message de news:
Merci à tous pour votre aide precieuse.
Les deux dernières macros proposées par Daniel.C et MichDenis marchent toutes les deux, bien que différentes. Je n'ai que l'embarras du choix.
Je me demande maintenant si je peux associer la macro que m'a proposé Denis.C pour fusionner deux lignes lorsque il y a "GPL" dans la colonne A :
Sub test() ' Pour chaque de la plage A1 à la dernière cellule de la colonne A For Each cell In Range("A1", Range("A65536").End(xlUp)) If cell = "GPL" And cell.Offset(, 2) = "" Then cell.Offset(, 1).Resize(, 2).MergeCells = True End If Next cell End Sub
... avec la macro que vous venez tous deux de me proposer (je mets l'exemple de MichDenis pour ne pas qu'il y ait de jaloux!):
Sub test()
If Application.CountIf(Range("A1", Range("A65536").End(xlUp)), "GPL") > 0 Then Columns(6).Insert Columns(10).Insert Columns(14).Insert End If
End Sub
... afin de ne faire qu'une seule macro.
Ça c'était ma première interrogation.
Ensuite, je voudrais savoir si il est possible d'intégrer à cette macro une fonction qui lui permette de supprimer les colonnes et les lignes fusionnées si l'appellation "GPL" était amené à disparaître de la colonne A? Et ce, sans avoir à refaire une manip' pour exécuter la macro?
Encore merci pour votre assistance.
JBF
"JBF" a écrit dans le message de news:
Bonjour et merci pour ta contribution.
Cette macro produit la même bizarrerie que celle proposée par Daniel.C. Lorsque j'ai GPL plusieurs fois ds la colonne A ça insert bien plus de colonnes que ce qui est demandé.
Une autre idée?
Merci
"Frédéric Sigonneau" a écrit dans le message de news:
A mon avis, il pourrait suffire de sortir de la boucle dès qu'on a rencontré une fois "GPL" :
Sub test() For Each cell In Range("A1", Range("A65536").End(xlUp)) If cell = "GPL" Then Columns(6).Insert Columns(10).Insert Columns(14).Insert Exit For ' <- ici End If Next cell End Sub
oui j'ai fais le test justement mais le pb c'est que ça ne va pas si ça décale plus d'une colonne. Je comprends ton explication mais il faut que je trouve autre chose alors.
"Daniel.C" a écrit dans le message de news: %
Oui. La macro insère à chaque fois un colonne devant les colonnes F, J et N. A chaque décalage, les colonnes à droite de la colonne E sont décalées d'une colonne, celles à droite de la colonne I sont décalées de deux colonnes et celles situées à droite de la colonne M sont décalées de 3 colonnes. Tu peux le visualiser avec une feuille de test ou tu ne mettras qu'une cellule GPL en colonne A. Daniel "JBF" a écrit dans le message de news:
Cette macro fonctionne bizarrement. SI A1="GPL" ça insère les colonnes correctement entre E et F; I et J; M et N.
Par contre si j'ai "GPL" en A1 mais aussi en A3 alors ça insère 2 colonnes entre E et F; une entre I et J; une entre K et L; une entre M et N; et encore une entre P et Q.
Je comprends pas pkoi.
"Daniel.C" a écrit dans le message de news:
Essaie : Sub test() For Each cell In Range("A1", Range("A65536").End(xlUp)) If cell = "GPL" Then Columns(6).Insert Columns(10).Insert Columns(14).Insert End If Next cell End Sub
Daniel "JBF" a écrit dans le message de news:
Bonjour à tous,
Contrairement à ce que j'ai dit il y a une heure à Daniel.C j'ai finalement besoin de votre aide maintenant!
Lorsque sur n'importe quelle ligne de la colonne A il y a écrit "GPL" je souhaite insérer une colonne entre la colonne E et la colonne F mais aussi en insérer une entre H et J et enfin entre M et N.
Autre point, Daniel.C m'a donné une macro pour fusionner la colonne B et C lorsqu'il y a écrit "GPL" dans la colonne A. La voici :
Sub test() ' Pour chaque de la plage A1 à la dernière cellule de la colonne A For Each cell In Range("A1", Range("A65536").End(xlUp)) If cell = "GPL" And cell.Offset(, 2) = "" Then cell.Offset(, 1).Resize(, 2).MergeCells = True End If Next cell End Sub
Il y a-t-il une possibilité d'intégrer l'ajout de colonnes à cette formule?
Quelqu'un peut m'apporter une solution, s'il vous plait?