Macro Excel : copier coller, mais sélectionner automatiquement la cellule de collage

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

Wizz_gva

XLDnaute Nouveau
Bonjour,

Je suis directeur financier d'un groupe et je voudrais pouvoir compiler toutes les balances des sociétés de mon groupe sur un seul onglet.

Je dispose donc d'un onglet par société (7 en tout) et d'un onglet "TOUTES SOCIETES" sur lequel je fais aujourd'hui un copier coller manuel, société par société, les unes à la suite des autres.

J'aimerais développer une macro qui me permette d'aller chercher chacune des balances (ça je sais faire) et qui les colle les unes à la suite des autres (ça je sais pas faire...).

Je sais faire une macro1 qui va chercher le champ correspondant à la société1 pour aller le coller dans l'onglet "TOUTES SOCIETES", en cellule A1 admettons. Mais comment indiquer à la macro qu'elle doit ensuite se positionner à la première cellule vide en colonne A, qui suit ce premier copier/coller, car le nombre de lignes est variable en fonction des sociétés ?

Exemple : la premier champ fait n lignes, ma dernière ligne occupée est donc la ligne n, si je colle depuis A1. IL faut donc que je dise à la macro "Tu te positionnes en A1 + n lignes" et ensuite tu colles la balance de la société 2. Puis tu vas chercher la cellule vide suivante... Etc...

Comment faire ?

Merci de votre aide

François
 
Re : Macro Excel : copier coller, mais sélectionner automatiquement la cellule de col

Bonjour Wizz_gva, et bienvenue,

Pour déterminer la 1ère cellule vide dans une colonne, il faut utiliser le code suivant :

Code:
Lg=Range("A65536").End(xlUp).Row + 1

Cette instruction affecte à la variable Lg le n° de la 1ère ligne vide. Elle remonte depuis la dernière cellule (A65536) jusqu'à la 1ère cellule non vide : il suffit donc de lui ajouter 1 pour descendre d'une ligne.

Espérant avoir répondu.

Cordialement.
 
Re : Macro Excel : copier coller, mais sélectionner automatiquement la cellule de col

Salut Wizz_gva et le forum
Un exemple de macro :
Code:
Sub test()
'Déclaration =======================================
Dim F_S As Worksheet, F_D As Worksheet
'MEI ===============================================
Set F_D = Sheets("TOUTES SOCIETES")     'Feuille destination
For Each F_S In ThisWorkbook.Sheets
'pour chaque feuille de ce fichier (fichier contenant la macro)
    If F_S.Name <> F_D.Name Then
    'si la feuille a un nom différent de celle de destination, alors
        F_S.Range(F_S.[A1], F_S.Cells(Rows.Count, "A").End(xlUp)).EntireRow.Copy _
            F_D.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)
        'copier de la ligne 1 à dernière non-vide en A de F_S et les coller à partir de la
        'ligne suivant la dernière cellule non-vide en A de F_D
    End If
    'limite du test
Next F_S
'passer à la feuille suivante
End Sub
Ne connaissant que ce qui est dit dans le sujet, on s'appuie sur la colonne A qui doit toujours être remplie. Si ce n'est pas forcément le cas, il faut trouver la colonne qui nous servira de référence.
N'en déplaise à Papou-net (salutation), je préfére utiliser Rows.Count, à la place de 65536 : la limite de ligne ayant été modifiée depuis l'apparition des versions supérieures à Excel 2003.
A+
 
Re : Macro Excel : copier coller, mais sélectionner automatiquement la cellule de col

N'en déplaise à Papou-net (salutation), je préfére utiliser Rows.Count, à la place de 65536 : la limite de ligne ayant été modifiée depuis l'apparition des versions supérieures à Excel 2003.A+

Bonsoir Gorfael,

Ta remarque, loin de me déplaire, est fort pertinente. Il est vrai que je n'ai encore jamais connu d'application utilisant un nombre de lignes dépassant les limites d'XL2003, mais néanmoins cela reste toujours possible. Avec ta solution, on évite d'avoir à adapter le code en cas de transposition dans une version plus récente.

Merci pour ton apport.

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

Discussions similaires

Réponses
10
Affichages
365
Réponses
1
Affichages
358
Réponses
10
Affichages
762
Retour