Transfert données plage variable deux excels

Fermé
Ewilem Messages postés 5 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 17 septembre 2018 - 17 sept. 2018 à 09:10
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 - 17 sept. 2018 à 14:26
Bonjour,
J'étais déjà venu pour un autre problème de selectione de plage de donnée, mais je reviens vers vous, le problème étant bien complexe...
La continuité de cette selection est la copie et le collage de cette plage dans un autre excel. Ma plage fait 9 colonnes et 300 lignes.
Voici mon code :



Je travaille sur des colonnes à 2 lettres voir 3 lettres, et je galère sur la mobilité de la plage (décalage de 9 colonnes) et le changement de lettre au moment où j'arrive au Z (Comment faire si la lettre est au milieu de la plage..?)
Mes connaissances en VBA / Excel ne sont pas assez bonnes pour régler ce problème..
Merci si vous pouviez m'aider, la fin du code n'est pas utile ! Je pense pouvoir régler le problème pour coller dans le fichier.. Merci encore.
Bonne journée,
Ewilem.
A voir également:

1 réponse

yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 Ambassadeur 1 551
Modifié le 17 sept. 2018 à 10:06
bonjour, merci de partager le texte de ton code, au lieu d'une image.
je vois que tu fais des contorsions pour obtenir un Range avec des lettres.
tu peux aussi faire, comme ThauTheme te l'a déjà expliqué ici:
 Range( Cells (i,j) , Cells (k,l) )

en spécifiant la première et la dernière cellule.
par ailleurs, il est recommandé d'éviter les select et activate.
0
Ewilem Messages postés 5 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 17 septembre 2018
Modifié le 17 sept. 2018 à 10:11
Oui mais comment incrémenter les cellules ensuites ? Sachant que j'ai 119 transferts à faire.. Je vais changer et mettre le code à la place ! Edit : Bon apparemment je ne peux pas modifier le post..
0
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 1 551 > Ewilem Messages postés 5 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 17 septembre 2018
Modifié le 17 sept. 2018 à 13:29
tu peux copier le code comme tu publies tes commentaires.
avant de copier ton code, modifie le nom des variables pour que ton code soit plus clair, et ajoute des commentaires.
tu oublies tout ce que tu fais pour obtenir les lettres correspondants aux colonnes: tu travailles exclusivement avec les numéros de colonnes, presque comme tu fais avec les numéros de lignes.
0
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 1 551 > Ewilem Messages postés 5 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 17 septembre 2018
17 sept. 2018 à 14:26
exemple:
Option Explicit

Private Sub cp()
Dim i As Integer
Dim coldebut As Long, colfin As Long
Dim source As Worksheet, dest As Worksheet
Set source = ThisWorkbook.Sheets("?")
Set dest = Workbooks("DonneesTransfert").Sheets("?")
coldebut = 100
colfin = 108
For i = 1 To 119
    source.Range(source.Cells(2, coldebut), source.Cells(300, colfin)).Copy (dest.[c23])
    coldebut = coldebut + 9
    colfin = colfin + 9
Next i
End Sub
0