Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Incrémentation suite

  • Initiateur de la discussion Initiateur de la discussion Jo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

Jo

Guest
Bonjour ! et merci pour vore écoute,

porcinet m'avait gentilment passé cette macro qui passe des données d'une feuille 1 à une feuille 2, elle fonctionne super merci ...

la voilà:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Sub test()
Dim i As Integer

For i = 5 To Sheets('feuil1').Range('B65536').End(xlUp).Row
With Sheets('feuil2')
.Range('B65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 2).Value
.Range('C65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 3).Value
.Range('D65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 4).Value
.Range('E65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 5).Value
.Range('F65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 6).Value
End With
Next i
End Sub
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

mais je me demande quelles lignes rajouter pour effacer les données de la feuille 1 une fois transmises sur la feuille 2

merci encore pour votre aide ! :kiss:
 
bonsoir jo

je pense que porcinet ne m'en voudra pas de repondre à sa place


teste cela
Sub test()
Dim i As Integer

For i = 5 To Sheets('feuil1').Range('B65536').End(xlUp).Row
With Sheets('feuil2')
.Range('B65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 2).Value
.Range('C65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 3).Value
.Range('D65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 4).Value
.Range('E65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 5).Value
.Range('F65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 6).Value
End With
Sheets('feuil1').range(cells(i,2),cells(i,6)).clearcontents
Next i
End Sub
 
Mille excuses, j'ai dégainé trop vite, je rectifie en écrvant correctement ...
la macro part de la cellule b5 sur feuill 1 comment modifier pour partir en A1 ? je ne vois pas b5 cité dans la macro ?

encore merci .
 
En tout cas bravo, ta macro fonctionne parfaitement ! et merci !
il me reste juste à savoir comment paramétrer la macro pour d'autres cellules sur feuille 1 (j'ai un tableau avec beaucoup de valeurs et je veux récupérer en fait que c11/D11/E11/F11/ ET DE H1 à H10 . ! à renvoyer toujours sur feuill 2 sur une ligne .
 
re bonsoir

pour partir en A1:

Sub test()
Dim i As Integer

For i = 1 To Sheets('feuil1').Range('A65536').End(xlUp).Row
With Sheets('feuil2')
.Range('B65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 1).Value
.Range('C65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 2).Value
.Range('D65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 3).Value
.Range('E65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 4).Value
.Range('F65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 5).Value
End With
Sheets('feuil1').range(cells(i,1),cells(i,5)).clearcontents
Next i

je n'ais pas modifié la zone d'arrivée (en feuille2) mais uniquement la zone d'origine en feuille 1
 
merci pour ta rapidité d'éxécution !!!

je comprends maintenant mieux ta programmation, on part d'une colonne A à partir de la cellule 1, donc comme je veux recupérer sur ma feuille 1 des données sur une ligne et sur une colonne sans prendre les autres valeurs, j'ai intérêt de faire une ligne cachée qui récupère ces données et d'appliquer ta macro, (comme je te disais j'ai des données à récupérer de c11 à f11 (ligne) et de h1 à h10 (colonne)ou il y a un autre moyen ?
 
pour c11 etc

Sub copie()
'cells(ligne,colonne)
'copie au même endroit
For n = 1 To 4
Worksheets('Feuil2').Cells(11, 2 + n) = Worksheets('Feuil1').Cells(11, 2 + n)
Next n
For n = 1 To 10
Worksheets('Feuil2').Cells(n, 8) = Worksheets('Feuil1').Cells(n, 8)
Next n
End Sub
Sub copie1()
'cells(ligne,colonne)
'h1 à h10 copié sur la ligne 1 (c'est la colonne qui varie)
For n = 1 To 4
Worksheets('Feuil2').Cells(11, 2 + n) = Worksheets('Feuil1').Cells(11, 2 + n)
Next n
For n = 1 To 10
Worksheets('Feuil2').Cells(n, 8) = Worksheets('Feuil1').Cells(1, n)
Next n
End Sub

cela t'aidera à comprendre la designation par cells(ligne,colonne)
 
Merci pour ta grande collaboration !

pour terminer, je voudrais (si possible ) rajouter une simple commande (en cas d'erreur) qui me supprime la dernière ligne incrémenté sur mon tableau pour pouvoir recommencer, (j'ai une collecte de E à O sur feuil 2)

avec cette macro actuelle qui récupère les données d'une simple ligne de feuil 1

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Sub test()
Dim i As Integer

For i = 5 To Sheets('feuil1').Range('B65536').End(xlUp).Row
With Sheets('feuil2')
.Range('E65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 2).Value
.Range('F65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 3).Value
.Range('G65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 4).Value
.Range('H65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 5).Value
.Range('I65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 6).Value
.Range('J65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 7).Value
.Range('K65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 8).Value
.Range('L65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 9).Value
.Range('M65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 10).Value
.Range('N65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 11).Value
.Range('o65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(i, 12).Value


End With
Next i
End Sub
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

donc en ajoutant un autre bouton et une autre macro !

encore un grand bravo et merci !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
911
Réponses
15
Affichages
786
Réponses
4
Affichages
734
Réponses
10
Affichages
663
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
5
Affichages
573
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…