Je cherche à réaliser mes premières macros... enfin je veux dire une où
j'essaye de comprendre ce que je fais, ou plutôt ce que je fais écrire.
Je suis sur la feuille 1 du fichier:
original: http://cjoint.com/?mhxkspElF8
J'ai donc tenté d'insérer une ligne en fusionnant la cellule du dessus dans
la première colonne (A), et en reproduisant et en incrémentant les cellules
juste au-dessus en B, C, D:
ce qui donne avec mes interprétations (vous me dites si je me trompe):
Sub ajoutseance()
'
' ajoutseance Macro
' Macro enregistrée le 07/12/2007 par GREGORY DELBOE
'
'
Rows("11:11").Select 'selectionne ligne 11
Selection.Insert Shift:=xlDown 'insert une ligne
Range("A3:A11").Select 'selectionne cell A3 à A11
Selection.Merge 'fuisonne
Range("B10:D10").Select
Selection.AutoFill Destination:=Range("B10:D11"), Type:=xlFillDefault
'reproduis la mise en forme
Range("B10:D11").Select
End Sub
bizarrement, lorsque je repars sur mon fichier original et que je lance la
macro, voici le résulltat:
raté: http://cjoint.com/?mhxiPg4VrW
1) Que se passe t-il? Est-ce la cellule deja fusionnée qui me casse les
pieds? Pourquoi excell ne reproduit-il pas ce qu'il a su faire manuellement
la première fois?
2) Comment associer une macro à un clic dans une cellule?
3) Si c'est possible, comment lui indiquer que la macro d'ajout de ligne
devra se faire au dessus de la cellule source de cette macro? (cas de
plusieurs possibilités de lignes à insérer à des endroits différents)
Merci pour le temps que vous passerez à déchiffrer ma demande, et à y
répondre (Mais si vous êtes arrivé là, vous avez déjà du courage!!!).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FFO
Salut Grégory
Si tu te lances dans l'aventure des Macros fuis les cellules fusionnées C'est la plaie pour leur fonctionnement correct Privilégie à tout prix le traitement de cellules non fusionnées quitte à les fusionner en tout fin de traitement
Donc pour ce qui concerne ton code l'idéal aurait été de défusionner toutes les cellules avant de passer ta macro et de refusionner aprés
Toute fois en maintenant la fusion j'ai trouvé la solution suivante :
Remplace les lignes :
Rows("11:11").Select 'selectionne ligne 11 Selection.Insert Shift:=xlDown 'insert une ligne
Range("B11:D11").Select Selection.EntireRow.Insert Range("A3:A11").Select 'selectionne cell A3 à A11 Selection.Merge 'fuisonne Range("B10:D10").Select Selection.AutoFill Destination:=Range("B10:D11"), Type:=xlFillDefault 'reproduis la mise en forme Range("B10:D11").Select
Si tu souhaites bénéficier de ce code à différents endroits de tes colonnes B/C/D je te prose ce code :
Il ne te restera plus qu'à sélectionner la cellule où tu souhaites réaliser l'insertion et d'activer ce code
Si tu souhaites par click déclencher cette insertion dans le VBA de la feuille (click droit sur le nom de l'onglet et visualiser le code) tu mets ce code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column = 2 Or Target.Column = 3 Or Target.Column = 4 Then Run ("Macro1") End If End Sub
Actualise ("Macro1") du nom de la macro qui porte le code précédent
ferme l'éditeur de macro et double click sur la cellule où tu souhaites ajouter une ligne
Je pense qu'avec tout celà tu devrait être satisfait
Dis moi !!!!
Bonsoir à vous!
Je cherche à réaliser mes premières macros... enfin je veux dire une où j'essaye de comprendre ce que je fais, ou plutôt ce que je fais écrire.
Je suis sur la feuille 1 du fichier: original: http://cjoint.com/?mhxkspElF8 J'ai donc tenté d'insérer une ligne en fusionnant la cellule du dessus dans la première colonne (A), et en reproduisant et en incrémentant les cellules juste au-dessus en B, C, D:
ce qui donne avec mes interprétations (vous me dites si je me trompe):
Sub ajoutseance() ' ' ajoutseance Macro ' Macro enregistrée le 07/12/2007 par GREGORY DELBOE '
' Rows("11:11").Select 'selectionne ligne 11 Selection.Insert Shift:=xlDown 'insert une ligne Range("A3:A11").Select 'selectionne cell A3 à A11 Selection.Merge 'fuisonne Range("B10:D10").Select Selection.AutoFill Destination:=Range("B10:D11"), Type:=xlFillDefault 'reproduis la mise en forme Range("B10:D11").Select
End Sub
bizarrement, lorsque je repars sur mon fichier original et que je lance la macro, voici le résulltat:
raté: http://cjoint.com/?mhxiPg4VrW
1) Que se passe t-il? Est-ce la cellule deja fusionnée qui me casse les pieds? Pourquoi excell ne reproduit-il pas ce qu'il a su faire manuellement la première fois? 2) Comment associer une macro à un clic dans une cellule? 3) Si c'est possible, comment lui indiquer que la macro d'ajout de ligne devra se faire au dessus de la cellule source de cette macro? (cas de plusieurs possibilités de lignes à insérer à des endroits différents)
Merci pour le temps que vous passerez à déchiffrer ma demande, et à y répondre (Mais si vous êtes arrivé là, vous avez déjà du courage!!!).
Grégory
Salut Grégory
Si tu te lances dans l'aventure des Macros fuis les cellules fusionnées
C'est la plaie pour leur fonctionnement correct
Privilégie à tout prix le traitement de cellules non fusionnées quitte à les
fusionner en tout fin de traitement
Donc pour ce qui concerne ton code l'idéal aurait été de défusionner toutes
les cellules avant de passer ta macro et de refusionner aprés
Toute fois en maintenant la fusion j'ai trouvé la solution suivante :
Remplace les lignes :
Rows("11:11").Select 'selectionne ligne 11
Selection.Insert Shift:=xlDown 'insert une ligne
Range("B11:D11").Select
Selection.EntireRow.Insert
Range("A3:A11").Select 'selectionne cell A3 à A11
Selection.Merge 'fuisonne
Range("B10:D10").Select
Selection.AutoFill Destination:=Range("B10:D11"), Type:=xlFillDefault
'reproduis la mise en forme
Range("B10:D11").Select
Si tu souhaites bénéficier de ce code à différents endroits de tes colonnes
B/C/D je te prose ce code :
Il ne te restera plus qu'à sélectionner la cellule où tu souhaites réaliser
l'insertion et d'activer ce code
Si tu souhaites par click déclencher cette insertion dans le VBA de la
feuille (click droit sur le nom de l'onglet et visualiser le code) tu mets ce
code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column = 2 Or Target.Column = 3 Or Target.Column = 4 Then
Run ("Macro1")
End If
End Sub
Actualise ("Macro1") du nom de la macro qui porte le code précédent
ferme l'éditeur de macro et double click sur la cellule où tu souhaites
ajouter une ligne
Je pense qu'avec tout celà tu devrait être satisfait
Dis moi !!!!
Bonsoir à vous!
Je cherche à réaliser mes premières macros... enfin je veux dire une où
j'essaye de comprendre ce que je fais, ou plutôt ce que je fais écrire.
Je suis sur la feuille 1 du fichier:
original: http://cjoint.com/?mhxkspElF8
J'ai donc tenté d'insérer une ligne en fusionnant la cellule du dessus dans
la première colonne (A), et en reproduisant et en incrémentant les cellules
juste au-dessus en B, C, D:
ce qui donne avec mes interprétations (vous me dites si je me trompe):
Sub ajoutseance()
'
' ajoutseance Macro
' Macro enregistrée le 07/12/2007 par GREGORY DELBOE
'
'
Rows("11:11").Select 'selectionne ligne 11
Selection.Insert Shift:=xlDown 'insert une ligne
Range("A3:A11").Select 'selectionne cell A3 à A11
Selection.Merge 'fuisonne
Range("B10:D10").Select
Selection.AutoFill Destination:=Range("B10:D11"), Type:=xlFillDefault
'reproduis la mise en forme
Range("B10:D11").Select
End Sub
bizarrement, lorsque je repars sur mon fichier original et que je lance la
macro, voici le résulltat:
raté: http://cjoint.com/?mhxiPg4VrW
1) Que se passe t-il? Est-ce la cellule deja fusionnée qui me casse les
pieds? Pourquoi excell ne reproduit-il pas ce qu'il a su faire manuellement
la première fois?
2) Comment associer une macro à un clic dans une cellule?
3) Si c'est possible, comment lui indiquer que la macro d'ajout de ligne
devra se faire au dessus de la cellule source de cette macro? (cas de
plusieurs possibilités de lignes à insérer à des endroits différents)
Merci pour le temps que vous passerez à déchiffrer ma demande, et à y
répondre (Mais si vous êtes arrivé là, vous avez déjà du courage!!!).
Si tu te lances dans l'aventure des Macros fuis les cellules fusionnées C'est la plaie pour leur fonctionnement correct Privilégie à tout prix le traitement de cellules non fusionnées quitte à les fusionner en tout fin de traitement
Donc pour ce qui concerne ton code l'idéal aurait été de défusionner toutes les cellules avant de passer ta macro et de refusionner aprés
Toute fois en maintenant la fusion j'ai trouvé la solution suivante :
Remplace les lignes :
Rows("11:11").Select 'selectionne ligne 11 Selection.Insert Shift:=xlDown 'insert une ligne
Range("B11:D11").Select Selection.EntireRow.Insert Range("A3:A11").Select 'selectionne cell A3 à A11 Selection.Merge 'fuisonne Range("B10:D10").Select Selection.AutoFill Destination:=Range("B10:D11"), Type:=xlFillDefault 'reproduis la mise en forme Range("B10:D11").Select
Si tu souhaites bénéficier de ce code à différents endroits de tes colonnes B/C/D je te prose ce code :
Il ne te restera plus qu'à sélectionner la cellule où tu souhaites réaliser l'insertion et d'activer ce code
Si tu souhaites par click déclencher cette insertion dans le VBA de la feuille (click droit sur le nom de l'onglet et visualiser le code) tu mets ce code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column = 2 Or Target.Column = 3 Or Target.Column = 4 Then Run ("Macro1") End If End Sub
Actualise ("Macro1") du nom de la macro qui porte le code précédent
ferme l'éditeur de macro et double click sur la cellule où tu souhaites ajouter une ligne
Je pense qu'avec tout celà tu devrait être satisfait
Dis moi !!!!
Bonsoir à vous!
Je cherche à réaliser mes premières macros... enfin je veux dire une où j'essaye de comprendre ce que je fais, ou plutôt ce que je fais écrire.
Je suis sur la feuille 1 du fichier: original: http://cjoint.com/?mhxkspElF8 J'ai donc tenté d'insérer une ligne en fusionnant la cellule du dessus dans la première colonne (A), et en reproduisant et en incrémentant les cellules juste au-dessus en B, C, D:
ce qui donne avec mes interprétations (vous me dites si je me trompe):
Sub ajoutseance() ' ' ajoutseance Macro ' Macro enregistrée le 07/12/2007 par GREGORY DELBOE '
' Rows("11:11").Select 'selectionne ligne 11 Selection.Insert Shift:=xlDown 'insert une ligne Range("A3:A11").Select 'selectionne cell A3 à A11 Selection.Merge 'fuisonne Range("B10:D10").Select Selection.AutoFill Destination:=Range("B10:D11"), Type:=xlFillDefault 'reproduis la mise en forme Range("B10:D11").Select
End Sub
bizarrement, lorsque je repars sur mon fichier original et que je lance la macro, voici le résulltat:
raté: http://cjoint.com/?mhxiPg4VrW
1) Que se passe t-il? Est-ce la cellule deja fusionnée qui me casse les pieds? Pourquoi excell ne reproduit-il pas ce qu'il a su faire manuellement la première fois? 2) Comment associer une macro à un clic dans une cellule? 3) Si c'est possible, comment lui indiquer que la macro d'ajout de ligne devra se faire au dessus de la cellule source de cette macro? (cas de plusieurs possibilités de lignes à insérer à des endroits différents)
Merci pour le temps que vous passerez à déchiffrer ma demande, et à y répondre (Mais si vous êtes arrivé là, vous avez déjà du courage!!!).
Grégory
Emma
Merci beaucoup pour ton investgissement!
Je suis en retard ce matin et suis frustré de ne pouvoir essayer ce matin. Je te tiens au courant!
Merci encore
Grégory
Merci beaucoup pour ton investgissement!
Je suis en retard ce matin et suis frustré de ne pouvoir essayer ce matin.
Je te tiens au courant!
Merci à toi... Je vais maintenant continuer mon projet sur cette feuille afin de faire aboutir ce projet!
Grégory
"FFO" a écrit dans le message de news:
Salut Grégory
Si tu te lances dans l'aventure des Macros fuis les cellules fusionnées C'est la plaie pour leur fonctionnement correct Privilégie à tout prix le traitement de cellules non fusionnées quitte à les
fusionner en tout fin de traitement
Donc pour ce qui concerne ton code l'idéal aurait été de défusionner toutes
les cellules avant de passer ta macro et de refusionner aprés
Toute fois en maintenant la fusion j'ai trouvé la solution suivante :
Remplace les lignes :
Rows("11:11").Select 'selectionne ligne 11 Selection.Insert Shift:=xlDown 'insert une ligne
Range("B11:D11").Select Selection.EntireRow.Insert Range("A3:A11").Select 'selectionne cell A3 à A11 Selection.Merge 'fuisonne Range("B10:D10").Select Selection.AutoFill Destination:=Range("B10:D11"), Type:=xlFillDefault 'reproduis la mise en forme Range("B10:D11").Select
Si tu souhaites bénéficier de ce code à différents endroits de tes colonnes
Il ne te restera plus qu'à sélectionner la cellule où tu souhaites réaliser
l'insertion et d'activer ce code
Si tu souhaites par click déclencher cette insertion dans le VBA de la feuille (click droit sur le nom de l'onglet et visualiser le code) tu mets ce
code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column = 2 Or Target.Column = 3 Or Target.Column = 4 Then Run ("Macro1") End If End Sub
Actualise ("Macro1") du nom de la macro qui porte le code précédent
ferme l'éditeur de macro et double click sur la cellule où tu souhaites ajouter une ligne
Je pense qu'avec tout celà tu devrait être satisfait
Dis moi !!!!
Bonsoir à vous!
Je cherche à réaliser mes premières macros... enfin je veux dire une où j'essaye de comprendre ce que je fais, ou plutôt ce que je fais écrire.
Je suis sur la feuille 1 du fichier: original: http://cjoint.com/?mhxkspElF8 J'ai donc tenté d'insérer une ligne en fusionnant la cellule du dessus dans
la première colonne (A), et en reproduisant et en incrémentant les cellules
juste au-dessus en B, C, D:
ce qui donne avec mes interprétations (vous me dites si je me trompe):
Sub ajoutseance() ' ' ajoutseance Macro ' Macro enregistrée le 07/12/2007 par GREGORY DELBOE '
' Rows("11:11").Select 'selectionne ligne 11 Selection.Insert Shift:=xlDown 'insert une ligne Range("A3:A11").Select 'selectionne cell A3 à A11 Selection.Merge 'fuisonne Range("B10:D10").Select Selection.AutoFill Destination:=Range("B10:D11"), Type:=xlFillDefault
'reproduis la mise en forme Range("B10:D11").Select
End Sub
bizarrement, lorsque je repars sur mon fichier original et que je lance la
macro, voici le résulltat:
raté: http://cjoint.com/?mhxiPg4VrW
1) Que se passe t-il? Est-ce la cellule deja fusionnée qui me casse les pieds? Pourquoi excell ne reproduit-il pas ce qu'il a su faire manuellement
la première fois? 2) Comment associer une macro à un clic dans une cellule? 3) Si c'est possible, comment lui indiquer que la macro d'ajout de ligne devra se faire au dessus de la cellule source de cette macro? (cas de plusieurs possibilités de lignes à insérer à des endroits différents)
Merci pour le temps que vous passerez à déchiffrer ma demande, et à y répondre (Mais si vous êtes arrivé là, vous avez déjà du courage!!!).
Grégory
J'ai essayé ça et j'ai appris beaucoup.
Merci à toi... Je vais maintenant continuer mon projet sur cette feuille
afin de faire aboutir ce projet!
Grégory
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de
news:435ABF10-00EC-4B9C-88E9-E858341357D3@microsoft.com...
Salut Grégory
Si tu te lances dans l'aventure des Macros fuis les cellules fusionnées
C'est la plaie pour leur fonctionnement correct
Privilégie à tout prix le traitement de cellules non fusionnées quitte à
les
fusionner en tout fin de traitement
Donc pour ce qui concerne ton code l'idéal aurait été de défusionner
toutes
les cellules avant de passer ta macro et de refusionner aprés
Toute fois en maintenant la fusion j'ai trouvé la solution suivante :
Remplace les lignes :
Rows("11:11").Select 'selectionne ligne 11
Selection.Insert Shift:=xlDown 'insert une ligne
Range("B11:D11").Select
Selection.EntireRow.Insert
Range("A3:A11").Select 'selectionne cell A3 à A11
Selection.Merge 'fuisonne
Range("B10:D10").Select
Selection.AutoFill Destination:=Range("B10:D11"), Type:=xlFillDefault
'reproduis la mise en forme
Range("B10:D11").Select
Si tu souhaites bénéficier de ce code à différents endroits de tes
colonnes
Il ne te restera plus qu'à sélectionner la cellule où tu souhaites
réaliser
l'insertion et d'activer ce code
Si tu souhaites par click déclencher cette insertion dans le VBA de la
feuille (click droit sur le nom de l'onglet et visualiser le code) tu mets
ce
code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column = 2 Or Target.Column = 3 Or Target.Column = 4 Then
Run ("Macro1")
End If
End Sub
Actualise ("Macro1") du nom de la macro qui porte le code précédent
ferme l'éditeur de macro et double click sur la cellule où tu souhaites
ajouter une ligne
Je pense qu'avec tout celà tu devrait être satisfait
Dis moi !!!!
Bonsoir à vous!
Je cherche à réaliser mes premières macros... enfin je veux dire une où
j'essaye de comprendre ce que je fais, ou plutôt ce que je fais écrire.
Je suis sur la feuille 1 du fichier:
original: http://cjoint.com/?mhxkspElF8
J'ai donc tenté d'insérer une ligne en fusionnant la cellule du dessus
dans
la première colonne (A), et en reproduisant et en incrémentant les
cellules
juste au-dessus en B, C, D:
ce qui donne avec mes interprétations (vous me dites si je me trompe):
Sub ajoutseance()
'
' ajoutseance Macro
' Macro enregistrée le 07/12/2007 par GREGORY DELBOE
'
'
Rows("11:11").Select 'selectionne ligne 11
Selection.Insert Shift:=xlDown 'insert une ligne
Range("A3:A11").Select 'selectionne cell A3 à A11
Selection.Merge 'fuisonne
Range("B10:D10").Select
Selection.AutoFill Destination:=Range("B10:D11"),
Type:=xlFillDefault
'reproduis la mise en forme
Range("B10:D11").Select
End Sub
bizarrement, lorsque je repars sur mon fichier original et que je lance
la
macro, voici le résulltat:
raté: http://cjoint.com/?mhxiPg4VrW
1) Que se passe t-il? Est-ce la cellule deja fusionnée qui me casse les
pieds? Pourquoi excell ne reproduit-il pas ce qu'il a su faire
manuellement
la première fois?
2) Comment associer une macro à un clic dans une cellule?
3) Si c'est possible, comment lui indiquer que la macro d'ajout de ligne
devra se faire au dessus de la cellule source de cette macro? (cas de
plusieurs possibilités de lignes à insérer à des endroits différents)
Merci pour le temps que vous passerez à déchiffrer ma demande, et à y
répondre (Mais si vous êtes arrivé là, vous avez déjà du courage!!!).
Merci à toi... Je vais maintenant continuer mon projet sur cette feuille afin de faire aboutir ce projet!
Grégory
"FFO" a écrit dans le message de news:
Salut Grégory
Si tu te lances dans l'aventure des Macros fuis les cellules fusionnées C'est la plaie pour leur fonctionnement correct Privilégie à tout prix le traitement de cellules non fusionnées quitte à les
fusionner en tout fin de traitement
Donc pour ce qui concerne ton code l'idéal aurait été de défusionner toutes
les cellules avant de passer ta macro et de refusionner aprés
Toute fois en maintenant la fusion j'ai trouvé la solution suivante :
Remplace les lignes :
Rows("11:11").Select 'selectionne ligne 11 Selection.Insert Shift:=xlDown 'insert une ligne
Range("B11:D11").Select Selection.EntireRow.Insert Range("A3:A11").Select 'selectionne cell A3 à A11 Selection.Merge 'fuisonne Range("B10:D10").Select Selection.AutoFill Destination:=Range("B10:D11"), Type:=xlFillDefault 'reproduis la mise en forme Range("B10:D11").Select
Si tu souhaites bénéficier de ce code à différents endroits de tes colonnes
Il ne te restera plus qu'à sélectionner la cellule où tu souhaites réaliser
l'insertion et d'activer ce code
Si tu souhaites par click déclencher cette insertion dans le VBA de la feuille (click droit sur le nom de l'onglet et visualiser le code) tu mets ce
code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column = 2 Or Target.Column = 3 Or Target.Column = 4 Then Run ("Macro1") End If End Sub
Actualise ("Macro1") du nom de la macro qui porte le code précédent
ferme l'éditeur de macro et double click sur la cellule où tu souhaites ajouter une ligne
Je pense qu'avec tout celà tu devrait être satisfait
Dis moi !!!!
Bonsoir à vous!
Je cherche à réaliser mes premières macros... enfin je veux dire une où j'essaye de comprendre ce que je fais, ou plutôt ce que je fais écrire.
Je suis sur la feuille 1 du fichier: original: http://cjoint.com/?mhxkspElF8 J'ai donc tenté d'insérer une ligne en fusionnant la cellule du dessus dans
la première colonne (A), et en reproduisant et en incrémentant les cellules
juste au-dessus en B, C, D:
ce qui donne avec mes interprétations (vous me dites si je me trompe):
Sub ajoutseance() ' ' ajoutseance Macro ' Macro enregistrée le 07/12/2007 par GREGORY DELBOE '
' Rows("11:11").Select 'selectionne ligne 11 Selection.Insert Shift:=xlDown 'insert une ligne Range("A3:A11").Select 'selectionne cell A3 à A11 Selection.Merge 'fuisonne Range("B10:D10").Select Selection.AutoFill Destination:=Range("B10:D11"), Type:=xlFillDefault
'reproduis la mise en forme Range("B10:D11").Select
End Sub
bizarrement, lorsque je repars sur mon fichier original et que je lance la
macro, voici le résulltat:
raté: http://cjoint.com/?mhxiPg4VrW
1) Que se passe t-il? Est-ce la cellule deja fusionnée qui me casse les pieds? Pourquoi excell ne reproduit-il pas ce qu'il a su faire manuellement
la première fois? 2) Comment associer une macro à un clic dans une cellule? 3) Si c'est possible, comment lui indiquer que la macro d'ajout de ligne devra se faire au dessus de la cellule source de cette macro? (cas de plusieurs possibilités de lignes à insérer à des endroits différents)
Merci pour le temps que vous passerez à déchiffrer ma demande, et à y répondre (Mais si vous êtes arrivé là, vous avez déjà du courage!!!).