Recopie incrémentée

Bonjour,

Je souhaite intégrer dans une macro, la recopie d’une cellule sur la totalité d’une colonne d’un tableau.

Dans le fichier joint, recopie cellules A2 et B2 sur les colonnes A et B jusqu’à la ligne 31.

Lorsque j’utilise la fonction double clic, elle s’arrête en ligne 9.

Que dois-je intégrer dans ma macro afin que la recopie se fasse jusqu’à la fin du tableau (donc ligne 31).

Merci d’avance de votre réponse.

Gilles87

Bonjour,

Pas besoin de macro pour ça : Transforme ton tableau en Tableau Excel (Insertion Tableau) les formules s'étendront toutes seules à chaque fois que tu rajouteras une ligne...

A+

Bonjour,

merci mais j'ai sans doute un peu trop simplifie mon descriptif, je renvoie un fichier exemple plus complet

Ce que je veux en fait, c'est pouvoir intégrer dans la macro "tri alphabetique" la mise à jour des colonnes A et B, le tri étant lancé après saisie d'un certain nombre d'adhérents.

Le problème avec le double-clic étant donc qu'il ne recopie pas jusqu'à la dernière ligne du fichier.

J'ai essayé de remplir à l'avance les colonnes A et B mais lorsque je fais une recherche par nom et que celui-ci n'existe pas, il me propose la 1ère ligne au-delà du tableau pour la création d'un nouvel adhérent.

Merci d'avance.

A+

Salut Gilles,

Salut Galopin,

si j'ai bien compris...

- tri comme tu le souhaites : NOM + Prénom ;

With Worksheets("adhérents 2019-2020")
    sCol = Split(Columns(.Cells(3, .Columns.Count).End(xlToLeft).Column).Address(ColumnAbsolute:=False), ":")(1)
    .Range("A4:" & sCol & .Range("C" & Rows.Count).End(xlUp).Row).Sort key1:=.Range("C4"), order1:=xlAscending, key2:=.Range("D4"), order2:=xlAscending
    .Range("C4").Select
End With

- après recherche de nom et filtre, un clic en [A1] ShowAllData ;

If Not Intersect(Target, [A1]) Is Nothing And ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData

- quand tu ajoutes un nouveau membre, création des formules en [A:B] ;

If Not Intersect(Target, Range("C:D")) Is Nothing Then
    If Cells(iRow, 1).HasFormula = False Then
        Cells(iRow, 1).FormulaLocal = "=SI(B" & iRow & "<>"""";""X"";"""")"
        Cells(iRow, 2).FormulaLocal = "=SI(NBVAL(E" & iRow & ":L" & iRow & ")<>0;NBVAL(E" & iRow & ":L" & iRow & ");"""")"
        Range("A" & iRow & "B:" & iRow).Interior.Color = [A3].Interior.Color
    End If
End If

Et si ce n'est pas ça qu'il fallait, et bien, tant pis, je me serai quand même bien amusé quelques minutes!

A+

Bonjour Curulis,

Tout d'abord merci pour tes réponses

1) OK pour le tri Nom + Prenom

2) pour Showalldata, l'idée est bonne car je me demandais comment me positionner sur la 1ère ligne, mais j'ai une erreur sur la ligne, visiblement de syntaxe lorsque j'exécute la macro (je ne connais absolument pas vba, j'ai récupéré les macros déjà faites ...)

3) pour la mise àjour des formules en col A et B, je suppose qu'il faut que la personne qui saisit les nouveaux adhérents lance une macro à chaque fois si j'ai bien compris, je préfère que l'opération soit faite en tâche de fond lorsqu'on lance la macro de tri en fin de saisie (s'il existe une solution bien sûr ...)

Bonne journée

Gilles

Salut Gilles,

et si tu ouvrais le fichier que je t'ai envoyé, tu verrais plus clair, non?

L'inscription d'un nouveau membre entraîne la création des formules de façon automatique : pas besoin d'autre macro.

A+

Bonjour Curulus,

Toutes mes excuses, je n'avais pas vu le fichier joint !

on touche le but ! juste un petit bug me semble-t-il sur la ligne "interior.color" lorsque je rajoute un nom ...

merci d'avance

Gilles

Bonjour Galopin et Curulus,

Avec un peu de retard, un grand merci à vous !!!

Rechercher des sujets similaires à "recopie incrementee"