VBA : coller données d'un tableau dans autres les autres feuilles du classeur

superbya

XLDnaute Nouveau
Bonjour,

Je suis bloquée sur une macro sur laquelle je travaille depuis le début de la semaine. J'ai bien avancé mais j'ai encore une petite exigence et je ne parviens malheureusement pas à modifier ma macro en conséquence :mad:

Alors en fait j'ai un fichier avec plusieurs onglets. Sur le premier onglet se trouve mon tableau de données => plage de cellules de E9 à J9, jusqu'à la dernière ligne non vide.

Je souhaiterais que les données du tableau du 1er onglet soient collées dans chaque autres onglets du fichier en fonction des données saisies dans le premier champ du tableau (de E9 à Exxx) et des noms des onglets. Ainsi, si en E11 par exemple, la valeur de la cellule est "superbya", je souhaiterais que la ligne du tableau correspondante soit copiée dans l'onglet "superbya" et ainsi de suite.

La macro ci-dessous fait ça très bien. Le seul problème, c'est que j'aimerais que les données soient collées à partir par exemple de la cellule D6. Je viens tout juste de trouver un moyen pour que les données soient collées à partir de la 6ème ligne (par exemple) mais je n'arrive toujours pas à faire de meme avec les colonnes.
Pouvez vous m'aider à adapter ma macro please parce que ça m'enerve ?

Voici la macro évoquée ci-dessus :

Sub Test()

Dim z$
Dim i As Integer
Dim c As Range

For n = 1 To 10

For Each c In Worksheets("1er onglet").Range("E9:J" & Range("E65536").End(xlUp).Row)
z = c.Value

If ISWs(z) Then
i = Worksheets(z).Cells(65535, n).End(xlUp).Row + 1

If i < 6 Then i = 6
Worksheets(z).Cells(i, n) = c.Offset(0, n)
End If

Next

Next n
End Sub

Function ISWs(Nom$) As Boolean
On Error Resume Next
ISWs = Sheets(Nom).Index
End Function


En tout cas un grand merci à ceux qui prendront la peine de m'aider.
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : VBA : coller données d'un tableau dans autres les autres feuilles du classeur

Bonjour superbya, et bienvenue,

Si j'ai bien compris la question, voici la réponse :

Code:
Sub Test()

Dim z$
Dim i As Integer
Dim c As Range

For n = 1 To 10

For Each c In Worksheets("1er onglet").Range("E9:J" & Range("E65536").End(xlUp).Row)
z = c.Value

If ISWs(z) Then
i = Worksheets(z).Cells(65535, n).End(xlUp).Row + 1

If i < 6 Then i = 6
  [COLOR="RoyalBlue"]For n = 5 to 10 ' Colonnes E à J
    Worksheets(z).Cells(i, n-1) = c.Offset(0, n) ' n-1 pour colonnes D à I
  Next n[/COLOR]
End If

Next

Next n
End Sub

Function ISWs(Nom$) As Boolean
On Error Resume Next
ISWs = Sheets(Nom).Index
End Function

Espérant avoir répondu.

Cordialement.

Bonjour Staple1600.
 
Dernière édition:

superbya

XLDnaute Nouveau
Re : VBA : coller données d'un tableau dans autres feuilles du classeur

Bonsoir,

Merci à vous pour vos réponses rapides (je suis impresionnée :p)

Je viens juste de lire vos réponses et je viens d'appliquer vos corrections mais ça ne fonctionne malheureusement pas :(.

J'ai essayé de m'inspirer de vos corrections pour réflechir à nouveau sur le sujet mais je n'y parviens vraiment pas. Le problème est que ça ne me copie pas toutes les donnée. PAr exemple, voici mes données :

A B C D E
1 lundi 1 12
2 Mardi 2 14
3 Mercredi 3 20

et ce que j'obtiens dans les onglets, si je demande à ce que ça m'affiche les données à partir de C2 par exemple :

C D E
1
2 1 12
3 2 14
4 3 20

Alors que je souhaiterais obtenir ça :


C D E
1
2 lundi 1 12
3 Mardi 2 14
4 Mercredi 3 20


N'hesitez pas si vous avez des questions et encore merci.
 
Dernière édition:

superbya

XLDnaute Nouveau
Re : VBA : coller données d'un tableau dans autres les autres feuilles du classeur

Bonsoir tout le monde,

Personne ne peut m'aider ? :-(

Peut être me suis je mal exprimée ou mal exposé mon problème.
Dans ces cas là, n'hésitez pas à me le faire savoir... je me ferai un plaisir de répondre à toutes vos questions :)

Merci à vous,

Cordialement,

Superbya
 

Discussions similaires

Réponses
5
Affichages
259

Statistiques des forums

Discussions
312 681
Messages
2 090 870
Membres
104 681
dernier inscrit
Gtcheumawe