Macro Copie Cellules

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

B

Ben-Ten

Guest
bonjour,

je suis très embêté.... je ne connais pas grand chose en macro excel...

Mon problème est le suivant....

J'ai un tableau de x lignes et y colonnes....

le nombre de colonnes ne varie pas ....par contre le nombre de lignes peut augmenter ou diminuer....

Lorsque x varie donc, je dois sélectionner la première ligne de mon tableau (exemple : de C5 à J5) et recopier toutes les formules de cette ligne sur les lignes suivantes jusqu'au dernier enregistrement (qui peut de trouver par exemple en C45 ou c35 ou autre suivant où se trouve la fin du tableau).

Alors, je le fais manuellement actuellement ....cependant mon fichier comporte au moins 25 feuilles et cela devient pénible....

je voudrai donc une macro qui fasse ces copies en fonction de chaque feuille (le nombre y colonnes peut varier d'une feuille à l'autre mais pas x qui lui est le meme sur chaque feuille)....

en utilisant la fonction (ligne(c35)-ligne(c5))+1, j'arrive à avoir le nombre d'enregistrement.... mais je n'arrive pas à faire à excel une copie en fonction de la fin de mon tableau.

Je me doute que dans la macro ....il faille mettre en place un compteur du style for i=1 to le nombre d'enregistrement .... et ensuite faire une boucle qui fasse la copie ligne par ligne jusqu'à la fin....

mais je ne connais pas encore bien les syntaxes VBA pour la créer ....

Je remercie à ceux qui vont m'aider ....j'espère....

n'hésitez pas à poser des questions si j'ai pas été clair....


Merci bien ......

Ben-Ten
 
Alors, au cas ou tu n'aurais pas trouve la soluce (je viens juste de voir la news ...) tu peux avoir ton n° de ligne par la ligne suivante : Selection.row (je crois que ca ne marche que lorsque la feuille de donnnées est active)

voilou.

Cyril
 
Bon ben merci à ceux qui m'ont répondu....

Je réponds avec un peu de retard.....

j'ai trouvé la réponse donc la voilà ...






Application.ScreenUpdating = False

'Détermination du nombre de personnes
Sheets("=STAFF=").Select
'En D1 on trouve le nombre de personnes et donc le nombre de ligne à copier
i = Range("D1").Value

'Sélection des différentes feuilles concernées pour la mise à jour

Sheets(Array("Répt°", "CalcRépt°", "ABS", "CP 1", "CP 2", "Plan", "Ptés", "Plan-ABS", "Ptés-ABS", "Quantif.", "Ec. P-P", "HISTOABS", "FinStore", "FinPlan", "=AM", "=CP", "=CE", "=AT", "=DEM", "Ec. Pos", "Ec. Neg", "TABLEAUX")).Select
Sheets("Répt°").Activate

'Copie
Sheets("HISTOABS").Activate
Set SourceRange = Range(Cells(6, 1), Cells(6, 165))
Set fillRange = Range(Cells(6, 1), Cells(i + 4, 165))
SourceRange.AutoFill Destination:=fillRange


et ainsi de suite pour les feuilles ......


voilou....

merci encore......

Ben-Ten
 
Salut Richard,

Y'a pas de problèmes.... seulement je pars en Week-End....
donc je te préparerai un fichier exemple dans la semaine....

mon fichier faisant environ 16 Mo .... je te ferai un exemple....

Sinon, mon principal souci était que je ne connaissais pas trop les syntaxes macro VBA. Mais je pense que je n'ai rien fais d'extraordinaire du coup sur cette macro.... Mais si çà peut t'intéresser ...pas de problèmes .... à plus

Ben-Ten
 
- 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
11
Affichages
74
Retour