• Initiateur de la discussion Initiateur de la discussion Paul
  • 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 !

P

Paul

Guest
Salut tout le monde
Je desire faire une macro qui copie une cellule dans une autre feuille et qui decalle a chaque fois d'une cellule pour garder les anciennes sauvegarde.

Avez vous une idee du code a inscrire dans le vba?
 
Re,

j ai jette un coup d'oeil sur l'autre fil, j ai essayer d adapter tes formules avec mon fichier excel mais je n y arrive pas. En fait je t explique j aimerai copier par exemple L7 de la feuille 1 en A4 de la feuille 2 et chaque fois decaller d une ligne. Tu penses pouvoir m'aider?
 
Bonjjour

cette macro fait ce que tu demandes :

Public Sub paul()
Dim derligne As Integer

'si la cellule A4 de la feuille 2 n'est pas vide
If Sheets('Feuil2').Range('a4') <> '' Then
'La variable derligne=le numéro de ligne de la premiere cellule vide de la colonne A
derligne = Sheets('Feuil2').Range('a65536').End(xlUp).Row + 1
'Sinon
Else
'La variable derligne=4
derligne = 4
'fin de condition
End If
'copie de la cellule L7 vers la derniere ligne vide de la colonna A (derligne)
Sheets('Feuil2').Range('a' & derligne) = Sheets('Feuil1').Range('L7')
End Sub

A suivre....

Salut
 
salut Paul,

d'apres ce que j'ai compris voila une macro faite a la va vite qui devrais faire ce que tu veux, si tu as un soucis...

code:
Sub test()
Sheets('feuil1').Select
Range('L7').Select
Selection.Copy
Sheets('feuil2').Select
Range('A4').Select
If ActiveCell.Value <> '' Then
Do While ActiveCell.Value <> ''
Selection.Offset(1, 0).Select
Loop
ActiveSheet.Paste
Else
ActiveSheet.Paste
End If
Selection.Offset(1, 0).Select
End Sub


bon courage et bonne journée

a+
 
Bonjour Paul, re Porcinet, Hervé, le Forum

Un approche un peu plus épurée, mais tout en restant dans l'idée du code de Porcinet, mais sans toutes ces horribles successions de 'Select'...

Sub PorcinetCorrected()
Dim CellSource As Range
Dim CellCible As Range
Dim i As Integer

Set CellSource = Sheets('feuil1').Range('L7')
Set CellCible = Sheets('feuil2').Range('A4')

&nbsp; &nbsp;
With Sheets('feuil2')
&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Do While .Cells(CellCible.Row + i, 1).Value <> ''
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; i = i + 1
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Loop
&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; CellSource.Copy .Cells(CellCible.Row + i, 1)
&nbsp; &nbsp;
End With

End Sub

NB: le fait de faire ce Do While Cell <> '' sur la Feuille Cible signifie que le code va scanner toutes les cellules en Partant de 'A4', et stopper sur la première Vide trouvée... Par conséquent et en d'autres termes ce code va chercher à inserrer la valeur copiée dans les 'trous' qui pourraient se trouver dans la colonne 'A'...

C'est important de faire la nuance entre ce code la et celui d'Hervé 'DerLigne => Range('a65536').End(xlUp).Row + 1' , qui lui va aller inscrire en dessous de la dernière cellule pleines de la colonne 'A' en partant du bas...

Exemple Structure de Base :
A4 = 'Toto'
A5 = 'Zaza'
A6 = ''
A7 = ''
A8 = 'Titi'

Résulat Application Code 'DerLigne' pour ajouter 'Lolo'
A4 = 'Toto'
A5 = 'Zaza'
A6 = ''
A7 = ''
A8 = 'Titi'
A9 = 'Lolo'

Résulat Application Code 'Do While' pour ajouter 'Lolo'
A4 = 'Toto'
A5 = 'Zaza'
A6 = 'Lolo'
A7 = ''
A8 = 'Titi'

Voilà, c'est juste pour que tout soit bien clair sur la différence des deux méthodes...

En conclusion, si on a à traîter un tableau normalement structuré, sans ligne vide... Alors préférer de loin la méthode 'DerLigne' qui sera bien plus optimisée quand au temps d'éxécution par rapport à une boucle 'Do While'...

Bon Appétit
@+Thierry


PS : Tout dépend des besoins...
 
A propos thierry tu pourai peut etre m aider sur une autre question si tu as un peu le temps bien sur.

Les series en questions vont servir a faire un graph, j ai 15 colonnes, et je ne veux pas afficher tous les garphs en meme temps alors je voudrai en fait creer des cases a cocher et qui me montrerai le graph avec les series que j aurai coche.
Je sais pas si c est faisable mais bon...;
Merci a +
 
salut Thierry,

effectivement ta méthode est bien meilleur que la mienne, disons que je débute en vba, je pratique depuis 2 ou 3 mois seulement, donc je fais avec le peu que je connais.

mais c en forgeant que l'on devient forgerons, donc en attendant d'avoir forgé autant que toi et ben j'essaye d'aider les autres en bidouillant.

bon app et bon aprem a tous

@+
 
Re: Trouver Dernière Cellule Vide 2 Méthodes

Re Bonjoour Paul, Porcinet, Hervé, le Forum

Pour la bonne marche de ce forum, Paul, ja vais te conseiller de lire notre Charte o&ugrave; tu découvriras qu'il n'est pas recommandé de mélanger les 'torchons' et les 'serviettes' dans le même fil...

D'autant plus que tu nous a déjà octroyé d'un sujet on ne peut moins explicit. J'ai corrigé d'aillleurs à des fins de moteur de recherche.

En fait chaque contributeur/trice ici répond en fonction de ses envies et de ces compétences... Et là en plus tu tombes mal car les Graphs ce n'est pas vraiment mon truc.

Donc je te conseille de faire :
1) une recherche dans les deux Forums, celui ci et aussi celui là :
=> Moteur Recherche Archives du Forum - Base de plus de 100 000 messages

2) si tu ne trouves riens, faire un nouveau Post 'Compliant' avec notre Charte

Pour Porcinet, j'ai bien compris et ne t'ai rien reproché, bien au contraire, mais dorénavant gare au 'Selects' !!!

Bon Après Midi
@+Thierry
 
- 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
2
Affichages
237
Réponses
3
Affichages
251
Réponses
3
Affichages
323
  • Question Question
XL 2021 Macro
Réponses
6
Affichages
300
Retour