Macro pour copier des noms dans les bonnes cellules.

Résolu/Fermé
grandpapol Messages postés 10 Date d'inscription lundi 16 février 2015 Statut Membre Dernière intervention 22 juin 2021 - 16 févr. 2015 à 06:37
grandpapol Messages postés 10 Date d'inscription lundi 16 février 2015 Statut Membre Dernière intervention 22 juin 2021 - 16 févr. 2015 à 16:53
Bonjour,
J'ai fait une feuille de calcul protégé pour une activité des résidents.
J'ai copier tous les noms dans la colonne b à partir de la ligne 40.
à chaque personne qui arrive je dois copier son nom à partir de la ligne 4 de la même colonne et un en dessous de l'autre qui détermine l'ordre de leur arrivé pour qu'ils forme des équipes de deux. Comme je dois garder le même format de cellule J'ai utilisé l'enregistrement automatique qui me donne:
Selection.Copy
ActiveWindow.SmallScroll Down:=-21
Range("B4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Cette macro m'empêche de copier le deuxième nom une cellule plus bas.

J'ai essayé avec :
Selection.Copy
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Mais quand je veux descendre d'une cellule et copier le nom je n'ai pas la bonne formule et n'ai pas trouvé la solution en lisant les blog durant 12 heures.
Je suis las et espère avoir votre solution.


A voir également:

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 16/02/2015 à 10:48
Bonjour,

Pas très clair, ton exposé

Si tu veux copier le nom inscrit en B4 sur la première ligne vide après la ligne 39 :
il faut que B39 ne soit pas vide (au minimum un espace)
Option Explicit
'-----
Sub inscrire_petitnouveau()
Dim Ligvide As Integer
Ligvide = Columns("B").Find("", Range("B39"), xlValues).Row
Range("B" & Ligvide) = Range("B4")
End Sub

Michel
je ne me suis pas occupé de la déprotection-reprotection
0
grandpapol Messages postés 10 Date d'inscription lundi 16 février 2015 Statut Membre Dernière intervention 22 juin 2021
16 févr. 2015 à 16:30
Merci de votre réponse rapide. Il est vrai que je n'étais pas très clair. Trop de fatigue...
Votre macro fonctionne bien mais ne m'est pas utile car voici la situation :
J'ai fait une liste des noms de nos résidents de la cellule B40 à B60. Elle sera plus longue à l'avenir.
Comme seulement quelques résidents viennent jouer dans la salle, la personne en charge sélectionnera le nom de chaque personne qui arrive avec la souris et activera la macro qui placera ce nom dans la prochaine cellule vide après B4 et ainsi de suite. De cette manière nous savons qui sont les résident qui jouent dans la salle.
0
Patty5083 Messages postés 34 Date d'inscription lundi 14 avril 2014 Statut Membre Dernière intervention 10 novembre 2019
16 févr. 2015 à 10:51
Bonjour
Peut-être cette solution si j'ai bien compris ce que tu veux faire :

LigCop = 4
DerniereLigne = Range("B40").End(xlDown).Row
    For Lig = 40 To DerniereLigne Step 1
    Range("B" & Lig).Select
    Selection.Copy
    'ActiveWindow.SmallScroll Down:=-21
    Range("B" & LigCop).Select
    Selection.PasteSpecial Paste:=xlPasteValues
    LigCop = LigCop + 1
    Next
0
grandpapol Messages postés 10 Date d'inscription lundi 16 février 2015 Statut Membre Dernière intervention 22 juin 2021
16 févr. 2015 à 16:38
Presque sauf que je ne veux copier qu'un nom à la fois. C'est celui que je sélectionne avec la souris. Voir ma réponse à Michel ci haut.Merci
0
Patty5083 Messages postés 34 Date d'inscription lundi 14 avril 2014 Statut Membre Dernière intervention 10 novembre 2019
16 févr. 2015 à 16:47
Voici peut-être la solution. Créer un bouton qui lance cette macro. Choisir un nom cliquer sur le bouton, puis ainsi de suite

Sub CopierNomsDansCell()
Dim Ligvide As Integer
    Ligvide = Columns("B").Find("", Range("B3"), xlValues).Row
    Selection.Copy
    Range("B" & Ligvide) = Selection.Value
    Selection.PasteSpecial Paste:=xlPasteValues
End Sub
0
grandpapol Messages postés 10 Date d'inscription lundi 16 février 2015 Statut Membre Dernière intervention 22 juin 2021
16 févr. 2015 à 16:53
Fantastique. Je vais dormir ce soir. Merci beaucoup.
0