copier le contenu d'une feuille dans une autre si condition remplie
4 réponses
gabriel
Bonjour à tous,
Je cherche à faire une macro qui quand on tape dans une des cellules de la
colonne A de la feuille1 le mot "COD"
me rajoute automatiquement dans les lignes à côté du mot "COD" le contenu de
la feuille COD (via un copier / coller avec transposition).
Je ne sais pas faire ça en VBA.
ex:
dans la feuille "COD" j'ai :
nom1
nom2
nom3
(sur la feuille1 en A7 par exemple je tape COD; il rajoute le reste)
A B C D E
7 COD Nom1 Nom2 Nom3 etc...
Je cherche à faire ça pour des raisons de publipostage.
Si quelqu'un trouve un bout de code me permettant de faire ça ce serai
sympathique...
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
Hervé
Bonsoir Gabriel, Regarde si cela convient, à mettre dans le module de ta feuille (celle où sera tapé le mot COD) :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Plage As Range If Not Intersect(Target, [A:A]) Is Nothing Then If Target.Text = "COD" Then With Worksheets("COD") Set Plage = .Range(.[A1], .[A65536].End(xlUp)) End With Me.Range(Target.Offset(0, 1), _ Target.Offset(0, Plage.Count)) = _ Application.WorksheetFunction.Transpose(Plage) End If End If Set Plage = Nothing End Sub
Hervé.
"gabriel" a écrit dans le message news: #
Bonjour à tous,
Je cherche à faire une macro qui quand on tape dans une des cellules de la colonne A de la feuille1 le mot "COD" me rajoute automatiquement dans les lignes à côté du mot "COD" le contenu de
la feuille COD (via un copier / coller avec transposition). Je ne sais pas faire ça en VBA.
ex:
dans la feuille "COD" j'ai : nom1 nom2 nom3
(sur la feuille1 en A7 par exemple je tape COD; il rajoute le reste)
A B C D E 7 COD Nom1 Nom2 Nom3 etc...
Je cherche à faire ça pour des raisons de publipostage.
Si quelqu'un trouve un bout de code me permettant de faire ça ce serai sympathique...
merci Gaby
Bonsoir Gabriel,
Regarde si cela convient, à mettre dans le module de ta feuille (celle où
sera tapé le mot COD) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
If Not Intersect(Target, [A:A]) Is Nothing Then
If Target.Text = "COD" Then
With Worksheets("COD")
Set Plage = .Range(.[A1], .[A65536].End(xlUp))
End With
Me.Range(Target.Offset(0, 1), _
Target.Offset(0, Plage.Count)) = _
Application.WorksheetFunction.Transpose(Plage)
End If
End If
Set Plage = Nothing
End Sub
Hervé.
"gabriel" <gabriel@nospam.fr> a écrit dans le message news:
#UJvgn1dFHA.1036@tk2msftngp13.phx.gbl...
Bonjour à tous,
Je cherche à faire une macro qui quand on tape dans une des cellules de la
colonne A de la feuille1 le mot "COD"
me rajoute automatiquement dans les lignes à côté du mot "COD" le contenu
de
la feuille COD (via un copier / coller avec transposition).
Je ne sais pas faire ça en VBA.
ex:
dans la feuille "COD" j'ai :
nom1
nom2
nom3
(sur la feuille1 en A7 par exemple je tape COD; il rajoute le reste)
A B C D E
7 COD Nom1 Nom2 Nom3 etc...
Je cherche à faire ça pour des raisons de publipostage.
Si quelqu'un trouve un bout de code me permettant de faire ça ce serai
sympathique...
Bonsoir Gabriel, Regarde si cela convient, à mettre dans le module de ta feuille (celle où sera tapé le mot COD) :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Plage As Range If Not Intersect(Target, [A:A]) Is Nothing Then If Target.Text = "COD" Then With Worksheets("COD") Set Plage = .Range(.[A1], .[A65536].End(xlUp)) End With Me.Range(Target.Offset(0, 1), _ Target.Offset(0, Plage.Count)) = _ Application.WorksheetFunction.Transpose(Plage) End If End If Set Plage = Nothing End Sub
Hervé.
"gabriel" a écrit dans le message news: #
Bonjour à tous,
Je cherche à faire une macro qui quand on tape dans une des cellules de la colonne A de la feuille1 le mot "COD" me rajoute automatiquement dans les lignes à côté du mot "COD" le contenu de
la feuille COD (via un copier / coller avec transposition). Je ne sais pas faire ça en VBA.
ex:
dans la feuille "COD" j'ai : nom1 nom2 nom3
(sur la feuille1 en A7 par exemple je tape COD; il rajoute le reste)
A B C D E 7 COD Nom1 Nom2 Nom3 etc...
Je cherche à faire ça pour des raisons de publipostage.
Si quelqu'un trouve un bout de code me permettant de faire ça ce serai sympathique...
merci Gaby
anonymousA
bonjour,
vérifier quand même , sauf si c'est absoluemnt impossible,qu'il n'y ait pas plus de 255 occurrences dans la plage de la feuille COD. C'est le seul point faible de la proc , au demeurant bien faite , qui t'a été communiquée par Hervé.
A+
Bonjour à tous,
Je cherche à faire une macro qui quand on tape dans une des cellules de la colonne A de la feuille1 le mot "COD" me rajoute automatiquement dans les lignes à côté du mot "COD" le contenu de la feuille COD (via un copier / coller avec transposition). Je ne sais pas faire ça en VBA.
ex:
dans la feuille "COD" j'ai : nom1 nom2 nom3
(sur la feuille1 en A7 par exemple je tape COD; il rajoute le reste)
A B C D E 7 COD Nom1 Nom2 Nom3 etc...
Je cherche à faire ça pour des raisons de publipostage.
Si quelqu'un trouve un bout de code me permettant de faire ça ce serai sympathique...
merci Gaby
bonjour,
vérifier quand même , sauf si c'est absoluemnt impossible,qu'il n'y ait
pas plus de 255 occurrences dans la plage de la feuille COD. C'est le
seul point faible de la proc , au demeurant bien faite , qui t'a été
communiquée par Hervé.
A+
Bonjour à tous,
Je cherche à faire une macro qui quand on tape dans une des cellules de la
colonne A de la feuille1 le mot "COD"
me rajoute automatiquement dans les lignes à côté du mot "COD" le contenu de
la feuille COD (via un copier / coller avec transposition).
Je ne sais pas faire ça en VBA.
ex:
dans la feuille "COD" j'ai :
nom1
nom2
nom3
(sur la feuille1 en A7 par exemple je tape COD; il rajoute le reste)
A B C D E
7 COD Nom1 Nom2 Nom3 etc...
Je cherche à faire ça pour des raisons de publipostage.
Si quelqu'un trouve un bout de code me permettant de faire ça ce serai
sympathique...
vérifier quand même , sauf si c'est absoluemnt impossible,qu'il n'y ait pas plus de 255 occurrences dans la plage de la feuille COD. C'est le seul point faible de la proc , au demeurant bien faite , qui t'a été communiquée par Hervé.
A+
Bonjour à tous,
Je cherche à faire une macro qui quand on tape dans une des cellules de la colonne A de la feuille1 le mot "COD" me rajoute automatiquement dans les lignes à côté du mot "COD" le contenu de la feuille COD (via un copier / coller avec transposition). Je ne sais pas faire ça en VBA.
ex:
dans la feuille "COD" j'ai : nom1 nom2 nom3
(sur la feuille1 en A7 par exemple je tape COD; il rajoute le reste)
A B C D E 7 COD Nom1 Nom2 Nom3 etc...
Je cherche à faire ça pour des raisons de publipostage.
Si quelqu'un trouve un bout de code me permettant de faire ça ce serai sympathique...
merci Gaby
gabriel
Merci Hervé, Elle fonctionne effectivement bien ! Petite question subsidiaire : si à la place de "COD" on veut mettre une variable qui prend la valeur de la cellule active, on s'y prend comment ?
En tout cas merci, ça m'aide !!! Gaby
"Hervé" a écrit dans le message de news:
Bonsoir Gabriel, Regarde si cela convient, à mettre dans le module de ta feuille (celle où sera tapé le mot COD) :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Plage As Range If Not Intersect(Target, [A:A]) Is Nothing Then If Target.Text = "COD" Then With Worksheets("COD") Set Plage = .Range(.[A1], .[A65536].End(xlUp)) End With Me.Range(Target.Offset(0, 1), _ Target.Offset(0, Plage.Count)) = _ Application.WorksheetFunction.Transpose(Plage) End If End If Set Plage = Nothing End Sub
Hervé.
"gabriel" a écrit dans le message news: #
Bonjour à tous,
Je cherche à faire une macro qui quand on tape dans une des cellules de la colonne A de la feuille1 le mot "COD" me rajoute automatiquement dans les lignes à côté du mot "COD" le contenu de
la feuille COD (via un copier / coller avec transposition). Je ne sais pas faire ça en VBA.
ex:
dans la feuille "COD" j'ai : nom1 nom2 nom3
(sur la feuille1 en A7 par exemple je tape COD; il rajoute le reste)
A B C D E 7 COD Nom1 Nom2 Nom3 etc...
Je cherche à faire ça pour des raisons de publipostage.
Si quelqu'un trouve un bout de code me permettant de faire ça ce serai sympathique...
merci Gaby
Merci Hervé,
Elle fonctionne effectivement bien !
Petite question subsidiaire : si à la place de "COD" on veut mettre une
variable qui prend la valeur de la cellule active, on s'y prend comment ?
En tout cas merci, ça m'aide !!!
Gaby
"Hervé" <hmsilve@wanadoo.fr> a écrit dans le message de news:
erddJZ2dFHA.3620@TK2MSFTNGP09.phx.gbl...
Bonsoir Gabriel,
Regarde si cela convient, à mettre dans le module de ta feuille (celle où
sera tapé le mot COD) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
If Not Intersect(Target, [A:A]) Is Nothing Then
If Target.Text = "COD" Then
With Worksheets("COD")
Set Plage = .Range(.[A1], .[A65536].End(xlUp))
End With
Me.Range(Target.Offset(0, 1), _
Target.Offset(0, Plage.Count)) = _
Application.WorksheetFunction.Transpose(Plage)
End If
End If
Set Plage = Nothing
End Sub
Hervé.
"gabriel" <gabriel@nospam.fr> a écrit dans le message news:
#UJvgn1dFHA.1036@tk2msftngp13.phx.gbl...
Bonjour à tous,
Je cherche à faire une macro qui quand on tape dans une des cellules de
la
colonne A de la feuille1 le mot "COD"
me rajoute automatiquement dans les lignes à côté du mot "COD" le contenu
de
la feuille COD (via un copier / coller avec transposition).
Je ne sais pas faire ça en VBA.
ex:
dans la feuille "COD" j'ai :
nom1
nom2
nom3
(sur la feuille1 en A7 par exemple je tape COD; il rajoute le reste)
A B C D E
7 COD Nom1 Nom2 Nom3 etc...
Je cherche à faire ça pour des raisons de publipostage.
Si quelqu'un trouve un bout de code me permettant de faire ça ce serai
sympathique...
Merci Hervé, Elle fonctionne effectivement bien ! Petite question subsidiaire : si à la place de "COD" on veut mettre une variable qui prend la valeur de la cellule active, on s'y prend comment ?
En tout cas merci, ça m'aide !!! Gaby
"Hervé" a écrit dans le message de news:
Bonsoir Gabriel, Regarde si cela convient, à mettre dans le module de ta feuille (celle où sera tapé le mot COD) :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Plage As Range If Not Intersect(Target, [A:A]) Is Nothing Then If Target.Text = "COD" Then With Worksheets("COD") Set Plage = .Range(.[A1], .[A65536].End(xlUp)) End With Me.Range(Target.Offset(0, 1), _ Target.Offset(0, Plage.Count)) = _ Application.WorksheetFunction.Transpose(Plage) End If End If Set Plage = Nothing End Sub
Hervé.
"gabriel" a écrit dans le message news: #
Bonjour à tous,
Je cherche à faire une macro qui quand on tape dans une des cellules de la colonne A de la feuille1 le mot "COD" me rajoute automatiquement dans les lignes à côté du mot "COD" le contenu de
la feuille COD (via un copier / coller avec transposition). Je ne sais pas faire ça en VBA.
ex:
dans la feuille "COD" j'ai : nom1 nom2 nom3
(sur la feuille1 en A7 par exemple je tape COD; il rajoute le reste)
A B C D E 7 COD Nom1 Nom2 Nom3 etc...
Je cherche à faire ça pour des raisons de publipostage.
Si quelqu'un trouve un bout de code me permettant de faire ça ce serai sympathique...
merci Gaby
isabelle
bonjour Gaby,
Private Sub Worksheet_Change(ByVal Target As Range) Dim Plage As Range Dim MaVar MaVar = "COD" If Not Intersect(Target, [A:A]) Is Nothing Then If Target.Text = MaVar Then With Worksheets(MaVar) Set Plage = .Range(.[A1], .[A65536].End(xlUp)) End With Me.Range(Target.Offset(0, 1), _ Target.Offset(0, Plage.Count)) = _ Application.WorksheetFunction.Transpose(Plage) End If End If Set Plage = Nothing End Sub
isabelle
Merci Hervé, Elle fonctionne effectivement bien ! Petite question subsidiaire : si à la place de "COD" on veut mettre une variable qui prend la valeur de la cellule active, on s'y prend comment ?
En tout cas merci, ça m'aide !!! Gaby
"Hervé" a écrit dans le message de news:
Bonsoir Gabriel, Regarde si cela convient, à mettre dans le module de ta feuille (celle où sera tapé le mot COD) :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Plage As Range If Not Intersect(Target, [A:A]) Is Nothing Then If Target.Text = "COD" Then With Worksheets("COD") Set Plage = .Range(.[A1], .[A65536].End(xlUp)) End With Me.Range(Target.Offset(0, 1), _ Target.Offset(0, Plage.Count)) = _ Application.WorksheetFunction.Transpose(Plage) End If End If Set Plage = Nothing End Sub
Hervé.
"gabriel" a écrit dans le message news: #
Bonjour à tous,
Je cherche à faire une macro qui quand on tape dans une des cellules de la colonne A de la feuille1 le mot "COD" me rajoute automatiquement dans les lignes à côté du mot "COD" le contenu
de
la feuille COD (via un copier / coller avec transposition). Je ne sais pas faire ça en VBA.
ex:
dans la feuille "COD" j'ai : nom1 nom2 nom3
(sur la feuille1 en A7 par exemple je tape COD; il rajoute le reste)
A B C D E 7 COD Nom1 Nom2 Nom3 etc...
Je cherche à faire ça pour des raisons de publipostage.
Si quelqu'un trouve un bout de code me permettant de faire ça ce serai sympathique...
merci Gaby
bonjour Gaby,
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Dim MaVar
MaVar = "COD"
If Not Intersect(Target, [A:A]) Is Nothing Then
If Target.Text = MaVar Then
With Worksheets(MaVar)
Set Plage = .Range(.[A1], .[A65536].End(xlUp))
End With
Me.Range(Target.Offset(0, 1), _
Target.Offset(0, Plage.Count)) = _
Application.WorksheetFunction.Transpose(Plage)
End If
End If
Set Plage = Nothing
End Sub
isabelle
Merci Hervé,
Elle fonctionne effectivement bien !
Petite question subsidiaire : si à la place de "COD" on veut mettre une
variable qui prend la valeur de la cellule active, on s'y prend comment ?
En tout cas merci, ça m'aide !!!
Gaby
"Hervé" <hmsilve@wanadoo.fr> a écrit dans le message de news:
erddJZ2dFHA.3620@TK2MSFTNGP09.phx.gbl...
Bonsoir Gabriel,
Regarde si cela convient, à mettre dans le module de ta feuille (celle où
sera tapé le mot COD) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
If Not Intersect(Target, [A:A]) Is Nothing Then
If Target.Text = "COD" Then
With Worksheets("COD")
Set Plage = .Range(.[A1], .[A65536].End(xlUp))
End With
Me.Range(Target.Offset(0, 1), _
Target.Offset(0, Plage.Count)) = _
Application.WorksheetFunction.Transpose(Plage)
End If
End If
Set Plage = Nothing
End Sub
Hervé.
"gabriel" <gabriel@nospam.fr> a écrit dans le message news:
#UJvgn1dFHA.1036@tk2msftngp13.phx.gbl...
Bonjour à tous,
Je cherche à faire une macro qui quand on tape dans une des cellules de
la
colonne A de la feuille1 le mot "COD"
me rajoute automatiquement dans les lignes à côté du mot "COD" le contenu
de
la feuille COD (via un copier / coller avec transposition).
Je ne sais pas faire ça en VBA.
ex:
dans la feuille "COD" j'ai :
nom1
nom2
nom3
(sur la feuille1 en A7 par exemple je tape COD; il rajoute le reste)
A B C D E
7 COD Nom1 Nom2 Nom3 etc...
Je cherche à faire ça pour des raisons de publipostage.
Si quelqu'un trouve un bout de code me permettant de faire ça ce serai
sympathique...
Private Sub Worksheet_Change(ByVal Target As Range) Dim Plage As Range Dim MaVar MaVar = "COD" If Not Intersect(Target, [A:A]) Is Nothing Then If Target.Text = MaVar Then With Worksheets(MaVar) Set Plage = .Range(.[A1], .[A65536].End(xlUp)) End With Me.Range(Target.Offset(0, 1), _ Target.Offset(0, Plage.Count)) = _ Application.WorksheetFunction.Transpose(Plage) End If End If Set Plage = Nothing End Sub
isabelle
Merci Hervé, Elle fonctionne effectivement bien ! Petite question subsidiaire : si à la place de "COD" on veut mettre une variable qui prend la valeur de la cellule active, on s'y prend comment ?
En tout cas merci, ça m'aide !!! Gaby
"Hervé" a écrit dans le message de news:
Bonsoir Gabriel, Regarde si cela convient, à mettre dans le module de ta feuille (celle où sera tapé le mot COD) :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Plage As Range If Not Intersect(Target, [A:A]) Is Nothing Then If Target.Text = "COD" Then With Worksheets("COD") Set Plage = .Range(.[A1], .[A65536].End(xlUp)) End With Me.Range(Target.Offset(0, 1), _ Target.Offset(0, Plage.Count)) = _ Application.WorksheetFunction.Transpose(Plage) End If End If Set Plage = Nothing End Sub
Hervé.
"gabriel" a écrit dans le message news: #
Bonjour à tous,
Je cherche à faire une macro qui quand on tape dans une des cellules de la colonne A de la feuille1 le mot "COD" me rajoute automatiquement dans les lignes à côté du mot "COD" le contenu
de
la feuille COD (via un copier / coller avec transposition). Je ne sais pas faire ça en VBA.
ex:
dans la feuille "COD" j'ai : nom1 nom2 nom3
(sur la feuille1 en A7 par exemple je tape COD; il rajoute le reste)
A B C D E 7 COD Nom1 Nom2 Nom3 etc...
Je cherche à faire ça pour des raisons de publipostage.
Si quelqu'un trouve un bout de code me permettant de faire ça ce serai sympathique...