Bonjour, Essaie comme ceci: '----------------------------------------------------- Sub Macro1() 'Application.ScreenUpdating = False Dim X As Long, i As Long, T() Application.EnableEvents = False Application.ScreenUpdating = False With Worksheets("Feuil2") .Range("B11") = 2016 End With X = 6 For i = 21 To 44 Step 4 T = Worksheets("Feuil2").Range("A" & i).Resize(, 33).Value Worksheets("Feuil1").Range("A" & X).Resize(, UBound(T, 2)) = T X = X + 5 Next Application.EnableEvents = True Application.ScreenUpdating = True End Sub '----------------------------------------------------- MichD
Bonjour,
Essaie comme ceci:
'-----------------------------------------------------
Sub Macro1()
'Application.ScreenUpdating = False
Dim X As Long, i As Long, T()
With Worksheets("Feuil2")
.Range("B11") = 2016
End With
X = 6
For i = 21 To 44 Step 4
T = Worksheets("Feuil2").Range("A" & i).Resize(, 33).Value
Worksheets("Feuil1").Range("A" & X).Resize(, UBound(T, 2)) = T
X = X + 5
Next
Bonjour, Essaie comme ceci: '----------------------------------------------------- Sub Macro1() 'Application.ScreenUpdating = False Dim X As Long, i As Long, T() Application.EnableEvents = False Application.ScreenUpdating = False With Worksheets("Feuil2") .Range("B11") = 2016 End With X = 6 For i = 21 To 44 Step 4 T = Worksheets("Feuil2").Range("A" & i).Resize(, 33).Value Worksheets("Feuil1").Range("A" & X).Resize(, UBound(T, 2)) = T X = X + 5 Next Application.EnableEvents = True Application.ScreenUpdating = True End Sub '----------------------------------------------------- MichD
Bonjour, Essaie comme ceci: '----------------------------------------------------- Sub Macro1() 'Application.ScreenUpdating = False Dim X As Long, i As Long, T() Application.EnableEvents = False Application.ScreenUpdating = False With Worksheets("Feuil2") .Range("B11") = 2016 End With X = 6 For i = 21 To 44 Step 4 T = Worksheets("Feuil2").Range("A" & i).Resize(, 33).Value Worksheets("Feuil1").Range("A" & X).Resize(, UBound(T, 2)) = T X = X + 5 Next Application.EnableEvents = True Application.ScreenUpdating = True End Sub '----------------------------------------------------- MichD
With Worksheets("Feuil2")
.Range("B11") = 2016
End With
X = 6
For i = 21 To 44 Step 4
T = Worksheets("Feuil2").Range("A" & i).Resize(, 33).Value
Worksheets("Feuil1").Range("A" & X).Resize(, UBound(T, 2)) = T
X = X + 5
Next
Bonjour, Essaie comme ceci: '----------------------------------------------------- Sub Macro1() 'Application.ScreenUpdating = False Dim X As Long, i As Long, T() Application.EnableEvents = False Application.ScreenUpdating = False With Worksheets("Feuil2") .Range("B11") = 2016 End With X = 6 For i = 21 To 44 Step 4 T = Worksheets("Feuil2").Range("A" & i).Resize(, 33).Value Worksheets("Feuil1").Range("A" & X).Resize(, UBound(T, 2)) = T X = X + 5 Next Application.EnableEvents = True Application.ScreenUpdating = True End Sub '----------------------------------------------------- MichD
Je n'avais pas remarqué que les colonnes A et B étaient fusionnées. Il n'y a aucune raison de fusionner ces 2 colonnes. As-tu remarqué que tu peux choisir la largeur d'une colonne? Alors ?
et si je veux recopier la ligne active?
De quelle feuille? Tu veux la recopier où? Sur la première ligne disponible en Feuil1? Sois précis dans ta demande. MichD
Ok ca recopie mais c'est décalé ...
Je n'avais pas remarqué que les colonnes A et B étaient fusionnées.
Il n'y a aucune raison de fusionner ces 2 colonnes. As-tu remarqué
que tu peux choisir la largeur d'une colonne? Alors ?
et si je veux recopier la ligne active?
De quelle feuille?
Tu veux la recopier où? Sur la première ligne disponible en Feuil1?
Je n'avais pas remarqué que les colonnes A et B étaient fusionnées. Il n'y a aucune raison de fusionner ces 2 colonnes. As-tu remarqué que tu peux choisir la largeur d'une colonne? Alors ?
et si je veux recopier la ligne active?
De quelle feuille? Tu veux la recopier où? Sur la première ligne disponible en Feuil1? Sois précis dans ta demande. MichD
http://www.cjoint.com/c/FGrjZH8h7Mv Dans mon fichier essai joint je tente par la macro de recopier les valeurs de la 'feuil2' dans la 'feu il1' ma macro ne fonctionne pas ... Par ailleurs si je veux ne recopier que la ligne sur laquelle je suis ava nt de lancer la macro possible mais je bloque Merci de votre aide Lionel
http://www.cjoint.com/c/FGrjZH8h7Mv Dans mon fichier essai joint je tente par la macro de recopier les valeurs de la 'feuil2' dans la 'feu il1' ma macro ne fonctionne pas ... Par ailleurs si je veux ne recopier que la ligne sur laquelle je suis ava nt de lancer la macro possible mais je bloque Merci de votre aide Lionel
Utilise la macro qui convient. Des lignes ou colonnes fusionnées dans un tableau de données est une très mauvaise idée. Selon le traitement que tu veux faire de ces données, tu peux rencontrer de drôles de pépins! Décalage corrigé : '-------------------------------------------------------- Sub Recopier_tout_Le_Tableau() 'Application.ScreenUpdating = False Dim X As Long, i As Long, T() Application.EnableEvents = False Application.ScreenUpdating = False With Worksheets("Feuil2") .Range("B11") = 2016 End With X = 6 For i = 21 To 44 Step 4 Worksheets("Feuil1").Range("A" & X) = Worksheets("Feuil2").Range("A" & i) T = Worksheets("Feuil2").Range("C" & i).Resize(, 31).Value Worksheets("Feuil1").Range("B" & X).Resize(, UBound(T, 2)) = T X = X + 5 Next Application.EnableEvents = True Application.ScreenUpdating = True End Sub '-------------------------------------------------------- Sub Recopier_La_Ligne_Active() Application.ScreenUpdating = False Dim X As Long, i As Long, R As Long Dim LastRow As Long, T() Application.EnableEvents = False Application.ScreenUpdating = False With Worksheets("Feuil2") .Activate R = ActiveCell.Row End With With Worksheets("Feuil1") LastRow = .Range("B" & .Rows.Count).End(xlUp).Row + 1 Worksheets("Feuil1").Range("A" & LastRow) = Worksheets("Feuil2").Range("A" & R) T = Worksheets("Feuil2").Range("C" & R).Resize(, 31).Value .Range("B" & LastRow).Resize(, UBound(T, 2)) = T End With Application.EnableEvents = True Application.ScreenUpdating = True End Sub '-------------------------------------------------------- MichD
Utilise la macro qui convient.
Des lignes ou colonnes fusionnées dans un tableau de données est une
très mauvaise idée. Selon le traitement que tu veux faire de ces
données, tu peux rencontrer de drôles de pépins!
Décalage corrigé :
'--------------------------------------------------------
Sub Recopier_tout_Le_Tableau()
'Application.ScreenUpdating = False
Dim X As Long, i As Long, T()
Utilise la macro qui convient. Des lignes ou colonnes fusionnées dans un tableau de données est une très mauvaise idée. Selon le traitement que tu veux faire de ces données, tu peux rencontrer de drôles de pépins! Décalage corrigé : '-------------------------------------------------------- Sub Recopier_tout_Le_Tableau() 'Application.ScreenUpdating = False Dim X As Long, i As Long, T() Application.EnableEvents = False Application.ScreenUpdating = False With Worksheets("Feuil2") .Range("B11") = 2016 End With X = 6 For i = 21 To 44 Step 4 Worksheets("Feuil1").Range("A" & X) = Worksheets("Feuil2").Range("A" & i) T = Worksheets("Feuil2").Range("C" & i).Resize(, 31).Value Worksheets("Feuil1").Range("B" & X).Resize(, UBound(T, 2)) = T X = X + 5 Next Application.EnableEvents = True Application.ScreenUpdating = True End Sub '-------------------------------------------------------- Sub Recopier_La_Ligne_Active() Application.ScreenUpdating = False Dim X As Long, i As Long, R As Long Dim LastRow As Long, T() Application.EnableEvents = False Application.ScreenUpdating = False With Worksheets("Feuil2") .Activate R = ActiveCell.Row End With With Worksheets("Feuil1") LastRow = .Range("B" & .Rows.Count).End(xlUp).Row + 1 Worksheets("Feuil1").Range("A" & LastRow) = Worksheets("Feuil2").Range("A" & R) T = Worksheets("Feuil2").Range("C" & R).Resize(, 31).Value .Range("B" & LastRow).Resize(, UBound(T, 2)) = T End With Application.EnableEvents = True Application.ScreenUpdating = True End Sub '-------------------------------------------------------- MichD
Rebonsoir... la macro pour la ligne active ne fonctionne pas elle change de page mais rien ne se passe... Par ailleurs elle ne fonctionnera que de la feuille 1 et il me faudra autan t de macro que de page, c'est cela ?
'--------------------------------------------------------
Sub Recopier_tout_Le_Tableau()
'Application.ScreenUpdating = False
Dim X As Long, i As Long, T()
Rebonsoir... la macro pour la ligne active ne fonctionne pas elle change de page mais rien ne se passe... Par ailleurs elle ne fonctionnera que de la feuille 1 et il me faudra autan t de macro que de page, c'est cela ?
MichD
Le 17/07/16 à 15:11, Lionel M a écrit :
la macro pour la ligne active ne fonctionne pas elle change de page mais rien ne se passe...
Ton classeur en retour avec les 2 macros inclues. http://www.cjoint.com/c/FGrt0WyD0li ET ÇA FONCTIONNE!
Par ailleurs elle ne fonctionnera que de la feuille 1 et il me faudra
autant de macro que de page, c'est cela ? **** D'abord, je n'ai pas lu cela dans tes premières interventions. **** Si tu copies les données de la ligne active toujours vers la feuil1, ce n'est pas un problème! Si tu veux copier les données sur différentes feuilles, il faudra trouver un moyen de le dire à la macro. Il n'y a pas de miracle! Pour ce faire, il faudrait que tu expliques en détail comment ton application fonctionne... et selon tes explications ce n'est pas sûr que la chose soit possible! MichD
Le 17/07/16 à 15:11, Lionel M a écrit :
la macro pour la ligne active ne fonctionne pas
elle change de page mais rien ne se passe...
Ton classeur en retour avec les 2 macros inclues.
http://www.cjoint.com/c/FGrt0WyD0li
ET ÇA FONCTIONNE!
Par ailleurs elle ne fonctionnera que de la feuille 1 et il me faudra
autant de macro que de page, c'est cela ?
**** D'abord, je n'ai pas lu cela dans tes premières interventions.
**** Si tu copies les données de la ligne active toujours vers la
feuil1, ce n'est pas un problème! Si tu veux copier les données sur
différentes feuilles, il faudra trouver un moyen de le dire à la macro.
Il n'y a pas de miracle! Pour ce faire, il faudrait que tu expliques en
détail comment ton application fonctionne... et selon tes explications
ce n'est pas sûr que la chose soit possible!
la macro pour la ligne active ne fonctionne pas elle change de page mais rien ne se passe...
Ton classeur en retour avec les 2 macros inclues. http://www.cjoint.com/c/FGrt0WyD0li ET ÇA FONCTIONNE!
Par ailleurs elle ne fonctionnera que de la feuille 1 et il me faudra
autant de macro que de page, c'est cela ? **** D'abord, je n'ai pas lu cela dans tes premières interventions. **** Si tu copies les données de la ligne active toujours vers la feuil1, ce n'est pas un problème! Si tu veux copier les données sur différentes feuilles, il faudra trouver un moyen de le dire à la macro. Il n'y a pas de miracle! Pour ce faire, il faudrait que tu expliques en détail comment ton application fonctionne... et selon tes explications ce n'est pas sûr que la chose soit possible! MichD