Je dois en fonction des colonnes dans la quelle il y a le plus de donnée incrémenter ma cellule A. Pour avoir A1:A15 = 12
456 (on se base sur la colonne B etant donné que elle va jusqu'a la ligne 15).
Toutes les informations contenues dans les cellules A,B,C et D sont récupérées par une macro dans d'autres fichiers Excel...
Alors c'est un exemple un peu tordu mais j'ai rien trouvé de plus représentatif. Dites moi si vous avez besoin de plus d'infos.
Sa fait 1S que je tourne sur des forums sans trouver de solutions..Merci d'avance.
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
MichD
Bonjour,
Une façon de faire :
Attention, tu dois adapter le nom des feuilles à 2 endroits et la plage que tu veux copier.
'--------------------------------------------------- Sub test1() Dim DerLig As Long, C As Range, Rg As Range With Worksheets("Feuil2") With .Range("A:D") 'Trouve la dernière ligne occupée par des valeurs 'dans la plage A:D DerLig = .Find("*", LookIn:=xlValues, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row For Each C In .Columns If C.Rows(65536).End(xlUp).Row = DerLig Then Exit For End If Next End With Set Rg = Range(.Cells(1, C.Column), .Cells(DerLig, C.Column))
'Tu copies la plage de données ver Rg 'à titre d'Exemple : Worksheets("Feuil1").Range("A1:A25").Copy Rg(1, 1) MsgBox Rg.Address End With End Sub '---------------------------------------------------
"Modjow" a écrit dans le message de groupe de discussion :
Bonjour,
Mon problème est le suivant. Je dois copier des données dans une cellule en fonction du contenu se trouvant dans une plage de données.
Je dois en fonction des colonnes dans la quelle il y a le plus de donnée incrémenter ma cellule A. Pour avoir A1:A15 = 12 456 (on se base sur la colonne B etant donné que elle va jusqu'a la ligne 15).
Toutes les informations contenues dans les cellules A,B,C et D sont récupérées par une macro dans d'autres fichiers Excel...
Alors c'est un exemple un peu tordu mais j'ai rien trouvé de plus représentatif. Dites moi si vous avez besoin de plus d'infos.
Sa fait 1S que je tourne sur des forums sans trouver de solutions..Merci d'avance.
Bonjour,
Une façon de faire :
Attention, tu dois adapter le nom des feuilles à 2 endroits
et la plage que tu veux copier.
'---------------------------------------------------
Sub test1()
Dim DerLig As Long, C As Range, Rg As Range
With Worksheets("Feuil2")
With .Range("A:D")
'Trouve la dernière ligne occupée par des valeurs
'dans la plage A:D
DerLig = .Find("*", LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
For Each C In .Columns
If C.Rows(65536).End(xlUp).Row = DerLig Then
Exit For
End If
Next
End With
Set Rg = Range(.Cells(1, C.Column), .Cells(DerLig, C.Column))
'Tu copies la plage de données ver Rg
'à titre d'Exemple :
Worksheets("Feuil1").Range("A1:A25").Copy Rg(1, 1)
MsgBox Rg.Address
End With
End Sub
'---------------------------------------------------
"Modjow" a écrit dans le message de groupe de discussion :
f9udnZiGv6xv8nLPRVn_vwA@giganews.com...
Bonjour,
Mon problème est le suivant.
Je dois copier des données dans une cellule en fonction du contenu se
trouvant
dans une plage de données.
Je dois en fonction des colonnes dans la quelle il y a le plus de donnée
incrémenter ma cellule A. Pour avoir A1:A15 = 12
456 (on se base sur la colonne B etant donné que elle va jusqu'a la ligne
15).
Toutes les informations contenues dans les cellules A,B,C et D sont
récupérées
par une macro dans d'autres fichiers Excel...
Alors c'est un exemple un peu tordu mais j'ai rien trouvé de plus
représentatif.
Dites moi si vous avez besoin de plus d'infos.
Sa fait 1S que je tourne sur des forums sans trouver de solutions..Merci
d'avance.
Attention, tu dois adapter le nom des feuilles à 2 endroits et la plage que tu veux copier.
'--------------------------------------------------- Sub test1() Dim DerLig As Long, C As Range, Rg As Range With Worksheets("Feuil2") With .Range("A:D") 'Trouve la dernière ligne occupée par des valeurs 'dans la plage A:D DerLig = .Find("*", LookIn:=xlValues, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row For Each C In .Columns If C.Rows(65536).End(xlUp).Row = DerLig Then Exit For End If Next End With Set Rg = Range(.Cells(1, C.Column), .Cells(DerLig, C.Column))
'Tu copies la plage de données ver Rg 'à titre d'Exemple : Worksheets("Feuil1").Range("A1:A25").Copy Rg(1, 1) MsgBox Rg.Address End With End Sub '---------------------------------------------------
"Modjow" a écrit dans le message de groupe de discussion :
Bonjour,
Mon problème est le suivant. Je dois copier des données dans une cellule en fonction du contenu se trouvant dans une plage de données.
Je dois en fonction des colonnes dans la quelle il y a le plus de donnée incrémenter ma cellule A. Pour avoir A1:A15 = 12 456 (on se base sur la colonne B etant donné que elle va jusqu'a la ligne 15).
Toutes les informations contenues dans les cellules A,B,C et D sont récupérées par une macro dans d'autres fichiers Excel...
Alors c'est un exemple un peu tordu mais j'ai rien trouvé de plus représentatif. Dites moi si vous avez besoin de plus d'infos.
Sa fait 1S que je tourne sur des forums sans trouver de solutions..Merci d'avance.
modjow
Le lundi 03 Février 2014 à 11:31 par Modjow :
Bonjour,
Mon problème est le suivant. Je dois copier des données dans une cellule en fonction du contenu se trouvant dans une plage de données.
Je dois en fonction des colonnes dans la quelle il y a le plus de donnée incrémenter ma cellule A. Pour avoir A1:A15 = 12 456 (on se base sur la colonne B etant donné que elle va jusqu'a la ligne 15).
Toutes les informations contenues dans les cellules A,B,C et D sont récupérées par une macro dans d'autres fichiers Excel...
Alors c'est un exemple un peu tordu mais j'ai rien trouvé de plus représentatif. Dites moi si vous avez besoin de plus d'infos.
Sa fait 1S que je tourne sur des forums sans trouver de solutions..Merci d'avance.
Merci pour la réponse. Ta macro fonctionne mais ne fait pas exactement ce que je veux, je me suis peut être mal exprimé.
En fait la colonne A doit fonctionner un peu comme un genre d' AUTOFILL. Elle va s'adapter à la colonne ou il y a le plus d'informations.
A1 = 123456 B1:B15 = Texte1
En fait la colonne A va se copier 15 fois. A1:A15 = 123456 vu que c'est la colonne B qui cotient le plus d'infos.
Je ne sais pas si j'arrive à être assez clair.
Le lundi 03 Février 2014 à 11:31 par Modjow :
Bonjour,
Mon problème est le suivant.
Je dois copier des données dans une cellule en fonction du contenu se
trouvant dans une plage de données.
Je dois en fonction des colonnes dans la quelle il y a le plus de donnée
incrémenter ma cellule A. Pour avoir A1:A15 = 12
456 (on se base sur la colonne B etant donné que elle va jusqu'a la
ligne 15).
Toutes les informations contenues dans les cellules A,B,C et D sont
récupérées par une macro dans d'autres fichiers Excel...
Alors c'est un exemple un peu tordu mais j'ai rien trouvé de plus
représentatif. Dites moi si vous avez besoin de plus d'infos.
Sa fait 1S que je tourne sur des forums sans trouver de solutions..Merci
d'avance.
Merci pour la réponse. Ta macro fonctionne mais ne fait pas exactement ce que je veux, je me suis peut être mal exprimé.
En fait la colonne A doit fonctionner un peu comme un genre d' AUTOFILL. Elle va s'adapter à la colonne ou il y a le plus d'informations.
A1 = 123456
B1:B15 = Texte1
En fait la colonne A va se copier 15 fois.
A1:A15 = 123456 vu que c'est la colonne B qui cotient le plus d'infos.
Je dois en fonction des colonnes dans la quelle il y a le plus de donnée incrémenter ma cellule A. Pour avoir A1:A15 = 12 456 (on se base sur la colonne B etant donné que elle va jusqu'a la ligne 15).
Toutes les informations contenues dans les cellules A,B,C et D sont récupérées par une macro dans d'autres fichiers Excel...
Alors c'est un exemple un peu tordu mais j'ai rien trouvé de plus représentatif. Dites moi si vous avez besoin de plus d'infos.
Sa fait 1S que je tourne sur des forums sans trouver de solutions..Merci d'avance.
Merci pour la réponse. Ta macro fonctionne mais ne fait pas exactement ce que je veux, je me suis peut être mal exprimé.
En fait la colonne A doit fonctionner un peu comme un genre d' AUTOFILL. Elle va s'adapter à la colonne ou il y a le plus d'informations.
A1 = 123456 B1:B15 = Texte1
En fait la colonne A va se copier 15 fois. A1:A15 = 123456 vu que c'est la colonne B qui cotient le plus d'infos.
Je ne sais pas si j'arrive à être assez clair.
MichD
| Je ne sais pas si j'arrive à être assez clair.
Non. Ta question initiale parlait d'identifier la colonne dont la dernière ligne est la plus basse parmi quatre colonnes soit de A à D.
Si j'identifie que c'est la colonne C et que la dernière ligne occupée est 50, que veux-tu faire avec cette information? Recopier le contenu de la dernière cellule occupée de chacune des 3 autres colonnes et de recopier ces valeurs jusqu'à la ligne 50?
Ton problème ne doit pas être très important à l'effort que tu y mets pour le définir!
| Je ne sais pas si j'arrive à être assez clair.
Non. Ta question initiale parlait d'identifier la colonne
dont la dernière ligne est la plus basse parmi quatre
colonnes soit de A à D.
Si j'identifie que c'est la colonne C et que la dernière ligne
occupée est 50, que veux-tu faire avec cette information?
Recopier le contenu de la dernière cellule occupée de chacune
des 3 autres colonnes et de recopier ces valeurs jusqu'à la ligne 50?
Ton problème ne doit pas être très important à l'effort que tu y mets
pour le définir!
Non. Ta question initiale parlait d'identifier la colonne dont la dernière ligne est la plus basse parmi quatre colonnes soit de A à D.
Si j'identifie que c'est la colonne C et que la dernière ligne occupée est 50, que veux-tu faire avec cette information? Recopier le contenu de la dernière cellule occupée de chacune des 3 autres colonnes et de recopier ces valeurs jusqu'à la ligne 50?
Ton problème ne doit pas être très important à l'effort que tu y mets pour le définir!
modjow
Le lundi 03 Février 2014 à 11:31 par Modjow :
Bonjour,
Mon problème est le suivant. Je dois copier des données dans une cellule en fonction du contenu se trouvant dans une plage de données.
Je dois en fonction des colonnes dans la quelle il y a le plus de donnée incrémenter ma cellule A. Pour avoir A1:A15 = 12 456 (on se base sur la colonne B etant donné que elle va jusqu'a la ligne 15).
Toutes les informations contenues dans les cellules A,B,C et D sont récupérées par une macro dans d'autres fichiers Excel...
Alors c'est un exemple un peu tordu mais j'ai rien trouvé de plus représentatif. Dites moi si vous avez besoin de plus d'infos.
Sa fait 1S que je tourne sur des forums sans trouver de solutions..Merci d'avance.
"Si j'identifie que c'est la colonne C et que la dernière ligne occupée est 50, que veux-tu faire avec cette information?"
Cette information permet uniquement de définir la dernière ligne occupée de mon tableau.
"Recopier le contenu de la dernière cellule occupée de chacune des 3 autres colonnes et de recopier ces valeurs jusqu'à la ligne 50?"
Recopier 50 fois l'information contenu de la cellule A jusqu'a la ligne 50. La dernière ligne occupée me sert uniquement d'indicateur pour savoir combien de fois je dois recopier l'info dans la ligne A.
Le lundi 03 Février 2014 à 11:31 par Modjow :
Bonjour,
Mon problème est le suivant.
Je dois copier des données dans une cellule en fonction du contenu se
trouvant dans une plage de données.
Je dois en fonction des colonnes dans la quelle il y a le plus de donnée
incrémenter ma cellule A. Pour avoir A1:A15 = 12
456 (on se base sur la colonne B etant donné que elle va jusqu'a la
ligne 15).
Toutes les informations contenues dans les cellules A,B,C et D sont
récupérées par une macro dans d'autres fichiers Excel...
Alors c'est un exemple un peu tordu mais j'ai rien trouvé de plus
représentatif. Dites moi si vous avez besoin de plus d'infos.
Sa fait 1S que je tourne sur des forums sans trouver de solutions..Merci
d'avance.
"Si j'identifie que c'est la colonne C et que la dernière ligne
occupée est 50, que veux-tu faire avec cette information?"
Cette information permet uniquement de définir la dernière ligne occupée de mon tableau.
"Recopier le contenu de la dernière cellule occupée de chacune
des 3 autres colonnes et de recopier ces valeurs jusqu'à la ligne 50?"
Recopier 50 fois l'information contenu de la cellule A jusqu'a la ligne 50. La dernière ligne occupée me sert uniquement d'indicateur pour savoir combien de fois je dois recopier l'info dans la ligne A.
Je dois en fonction des colonnes dans la quelle il y a le plus de donnée incrémenter ma cellule A. Pour avoir A1:A15 = 12 456 (on se base sur la colonne B etant donné que elle va jusqu'a la ligne 15).
Toutes les informations contenues dans les cellules A,B,C et D sont récupérées par une macro dans d'autres fichiers Excel...
Alors c'est un exemple un peu tordu mais j'ai rien trouvé de plus représentatif. Dites moi si vous avez besoin de plus d'infos.
Sa fait 1S que je tourne sur des forums sans trouver de solutions..Merci d'avance.
"Si j'identifie que c'est la colonne C et que la dernière ligne occupée est 50, que veux-tu faire avec cette information?"
Cette information permet uniquement de définir la dernière ligne occupée de mon tableau.
"Recopier le contenu de la dernière cellule occupée de chacune des 3 autres colonnes et de recopier ces valeurs jusqu'à la ligne 50?"
Recopier 50 fois l'information contenu de la cellule A jusqu'a la ligne 50. La dernière ligne occupée me sert uniquement d'indicateur pour savoir combien de fois je dois recopier l'info dans la ligne A.
MichD
Cette procédure identifie quelle est la dernière ligne occupée pour l'ensemble des colonnes de la plage A:D et elle affiche aussi dans un message dans quelle colonne cette dernière ligne se retrouve.
Avec ceci, tu devrais être en mesure de faire ce que tu veux. Ne pas oublier d'adapter le nom de la feuille dans la procédure.
'------------------------------------------------ Sub test1() Dim DerLig As Long, C As Range, Rg As Range With Worksheets("Feuil1") 'Adapte le nom de la feuille With .Range("A:D") 'Trouve la dernière ligne occupée par des valeurs 'dans la plage A:D DerLig = .Find("*", LookIn:=xlValues, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row For Each C In .Columns If C.Rows(65536).End(xlUp).Row = DerLig Then Exit For End If Next End With
MsgBox "La dernière ligne est : " & DerLig & vbCrLf & _ " et elle est située en colonne : " & C.Column End With End Sub '------------------------------------------------
Cette procédure identifie quelle est la dernière ligne occupée pour
l'ensemble des colonnes de la plage A:D et elle affiche aussi
dans un message dans quelle colonne cette dernière ligne se
retrouve.
Avec ceci, tu devrais être en mesure de faire ce que tu veux.
Ne pas oublier d'adapter le nom de la feuille dans la procédure.
'------------------------------------------------
Sub test1()
Dim DerLig As Long, C As Range, Rg As Range
With Worksheets("Feuil1") 'Adapte le nom de la feuille
With .Range("A:D")
'Trouve la dernière ligne occupée par des valeurs
'dans la plage A:D
DerLig = .Find("*", LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
For Each C In .Columns
If C.Rows(65536).End(xlUp).Row = DerLig Then
Exit For
End If
Next
End With
MsgBox "La dernière ligne est : " & DerLig & vbCrLf & _
" et elle est située en colonne : " & C.Column
End With
End Sub
'------------------------------------------------
Cette procédure identifie quelle est la dernière ligne occupée pour l'ensemble des colonnes de la plage A:D et elle affiche aussi dans un message dans quelle colonne cette dernière ligne se retrouve.
Avec ceci, tu devrais être en mesure de faire ce que tu veux. Ne pas oublier d'adapter le nom de la feuille dans la procédure.
'------------------------------------------------ Sub test1() Dim DerLig As Long, C As Range, Rg As Range With Worksheets("Feuil1") 'Adapte le nom de la feuille With .Range("A:D") 'Trouve la dernière ligne occupée par des valeurs 'dans la plage A:D DerLig = .Find("*", LookIn:=xlValues, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row For Each C In .Columns If C.Rows(65536).End(xlUp).Row = DerLig Then Exit For End If Next End With
MsgBox "La dernière ligne est : " & DerLig & vbCrLf & _ " et elle est située en colonne : " & C.Column End With End Sub '------------------------------------------------