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
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.
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
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: