Transfére de colonne d'une feuille à l'autre par VBA
YOUPI!OUAI!
Messages postés
92
Statut
Membre
-
YOUPI!OUAI! -
YOUPI!OUAI! -
Bonsoir à tous,
La formule ci-dessous me permet de sélectionner une ligne dans une feuille pour l'enregistrer dans une autre.
Ce que je n'arrive pas à faire c'est de trouver les bons mots pour modifier cette formule afin de sélectionner une colonne (Disons feuil1 C5:C15) pour l'enregistrer en feuil2 de A3 à A13 par exemple.
Merci par avance
La formule ci-dessous me permet de sélectionner une ligne dans une feuille pour l'enregistrer dans une autre.
Sub Bouton1_Clic()
'Auteur: YOUPI!OUAI!
'Transfère les informations en feuil2 et comptabilise les nouvelles lignes
Dim DerCEL As Range
Worksheets("feuil1").Range("C2:M2").Copy
With Worksheets("feuil2")
Set DerCEL = .Range("A" & Rows.Count).End(xlUp)
DerCEL.Offset(1) = Val(DerCEL) + 1
.Range("B" & DerCEL.Row + 1).Resize(1, 10).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End With
End Sub
Ce que je n'arrive pas à faire c'est de trouver les bons mots pour modifier cette formule afin de sélectionner une colonne (Disons feuil1 C5:C15) pour l'enregistrer en feuil2 de A3 à A13 par exemple.
Merci par avance
A voir également:
- Transfére de colonne d'une feuille à l'autre par VBA
- Déplacer une colonne excel - Guide
- Trier une colonne excel - Guide
- Colonne word - Guide
- Bruler feuille de laurier - Guide
- Feuille de pointage excel - Télécharger - Tableur
3 réponses
Bonjour,
Tout simplement :
Tout simplement :
Sub Bouton1_Clic()
'Auteur: YOUPI!OUAI!
'Transfère les informations en feuil2 et comptabilise les nouvelles lignes
Worksheets("feuil1").Range("C5:C15").Copy _
destination:= Worksheets("feuil2").Range("A3:A13")
End Sub
Bonjour
choix de la colonne à copier et restitution en feuille2 à la première line vide colonne A
essaies
Michel
choix de la colonne à copier et restitution en feuille2 à la première line vide colonne A
essaies
Option Explicit
'-------------------------------------
Sub ccccc()
Dim plage, Ligvid As Long
With Sheets(1)
.Activate
plage = Application.InputBox(prompt:="selectionner avec la souris la plage à copier", Type:=8)
End With
With Sheets(2)
If .Range("A1") = "" Then
Ligvid = 1
Else
Ligvid = .Columns("A").Find("", .Range("A1")).Row
End If
.Cells(Ligvid, "A").Resize(UBound(plage), 1) = plage
.Activate
End With
End Sub
Michel
Bonjour
En supposant que tu restitues à partir de A2
Michel
En supposant que tu restitues à partir de A2
Option Explicit
'-------------------------------------
Sub ccccc()
Dim Plage, Colvid As Integer
With Sheets(1)
.Activate
Plage = Application.InputBox(prompt:="selectionner avec la souris la plage à copier", Type:=8)
End With
With Sheets(2)
If .Range("A2") = "" Then
Colvid = 1
Else
Colvid = .Rows(2).Find("", .Range("A2")).Column
End If
.Cells(2, Colvid).Resize(UBound(Plage), 1) = Plage
.Activate
End With
End Sub
Michel
Bonsoir Michel,
Désolé de revenir si tard à toi. Et désolé mais ta solution de convient pas.
En fait je crois que je n'est pas réussi à me faire comprendre, alors je te propose un fichier qui je l' espère sera plus explicite, et t'aidera à m'aider
https://www.cjoint.com/c/ELuwynlp6qh
Désolé de revenir si tard à toi. Et désolé mais ta solution de convient pas.
En fait je crois que je n'est pas réussi à me faire comprendre, alors je te propose un fichier qui je l' espère sera plus explicite, et t'aidera à m'aider
https://www.cjoint.com/c/ELuwynlp6qh
Bonjour
Il faut bien te rendre compte que ce que tu demandes n'est pas forcément facile et que personne ne veut passer parfois plusieurs heures à essayer de résoudre un problème bénévolement pour se voir dire après coup « non vous n'avez pas compris mon problème (rarement, je n'ai pas bien expliqué, excusez moi) il faut en plus que.... »
Il faut bien te rendre compte que ce que tu demandes n'est pas forcément facile et que personne ne veut passer parfois plusieurs heures à essayer de résoudre un problème bénévolement pour se voir dire après coup « non vous n'avez pas compris mon problème (rarement, je n'ai pas bien expliqué, excusez moi) il faut en plus que.... »
Bonjour michel,
Je regrette je ne voulais pas être vexant, Considère juste cela comme de la maladresse.
Etant encore profane dans la programmation VBA, les mots et codes me manques et je ne sais pas toujours comment les articuler entre eux. C'est idiot mais je m'était imaginé que la solution était simple, qu'un habitué à ce genre d'exercice serait glisser le bon code, le bon mot pour faire évoluer la macro.
Je me suis trompé, à l'évidence c'est beaucoup plus complexe que çà.
Pour revenir à mon problème, Tu as vu que le fichier s'ouvrai en feuil2. Il aurait été préférable qu'il s'ouvre en feuil1. il y a des informations. Qui peut-être peuvent faciliter la compréhension du projet dans sa globalité.
A te lire.
Et encore mil mercis pour le temps que toi et les autres me consacrez
Je regrette je ne voulais pas être vexant, Considère juste cela comme de la maladresse.
Etant encore profane dans la programmation VBA, les mots et codes me manques et je ne sais pas toujours comment les articuler entre eux. C'est idiot mais je m'était imaginé que la solution était simple, qu'un habitué à ce genre d'exercice serait glisser le bon code, le bon mot pour faire évoluer la macro.
Je me suis trompé, à l'évidence c'est beaucoup plus complexe que çà.
Pour revenir à mon problème, Tu as vu que le fichier s'ouvrai en feuil2. Il aurait été préférable qu'il s'ouvre en feuil1. il y a des informations. Qui peut-être peuvent faciliter la compréhension du projet dans sa globalité.
A te lire.
Et encore mil mercis pour le temps que toi et les autres me consacrez
Merci ça marche, mais la fonction est incomplète. Il est vrai que j'ai donné une explication incomplète.
En fait la macro que j'utilise permet de sélectionner une ligne en feuil1 pour l'enregistrée en feuil2 en ligne A. puis en ligne B puis en C... au fur et à mesure des enregistrements avec comptabilisation en début de ligne des enregistrements.
Ce que je veux c'est faire évoluer la MACRO qui sélectionnerait non plus une ligne mais une colonne comme vous l'avez proposé mais en gardant les propriétés que j'ai décrit ci-dessus.
J'ai bien essayé de les intégrer à la suite de la solution que vous me proposez, mais à la vérité je ne trouve pas la bonne syntaxe