Rechercher : dans
Par :

Copier des cellules et en faire une liste

Dernière réponse le 1 jui 2009 à 13:45:58 Tiny61, le 1 jui 2009 à 09:07:54 
 Signaler ce message aux modérateurs

Bonjour,

Voila le problème détaillé : est il possible de créer une macro pour que, lorsque que je clique sur un bouton :
- Sur la feuille 1 je copie les cellules : K7, M12, F13, P13, E17, Q17, E20, Q20, E21, Q21, H22, N22, H26, N26, H31 et enfin N31
- C'est cellules sont retranscrites sur la feuille 2 sous forme d'une ligne à partir de B3
- Cette ligne est copiée puis collée en B5
- Les cellule de la feuille 1 redeviennent vierges, je peut ainsi les renseigner une nouvelle fois, puis copier la ligne B3 feuille 2 et la coller en B6, ainsi de suite de manière à obtenir une liste de ligne...

Possible ça ?

J'ai office XP : excel 2002 avec vba 6.3

Merci d'avance pour votre aide !

Configuration: Windows XP Internet Explorer 6.0
Excel XP
vba 6.3

Meilleures réponses pour « Copier des cellules et en faire une liste » dans :
Copier une formule VoirAprès avoir laborieusement composé une formule dans une cellule, il est fréquent de vouloir la recopier d’autres cellules. Vous pouvez procéder de plusieurs façons. COPIER-COLLER La méthode la plus primaire consiste à sélectionner la cellule...
Liste personnalisée VoirVous pouvez soit créer une liste à partir d’éléments déjà présents dans une feuille de calcul, soit la créer intégralement. Si vous avez déjà saisi la liste des éléments constituant la série, sélectionnez-la dans la feuille de calcul. Dans le menu...

1

michel_m, le 1 jui 2009 à 09:52:57

Salut tiny
cette macro te montre le principe:. complète avec les cellules manquantes de la feuille de saisie
Tu peux mettre le bouton sur n'importe quelle feuille.

Sub compiler()
Dim lig As Long

With Sheets(2)
    'on teste si c'est la 1° opération: B5 est il vide?
    If IsEmpty(.Range("B5")) Then
        lig = 5
    Else
        '1° ligne vide
        lig = .Range("B65536").End(xlUp).Row + 1
    End If
    'on tranfère les valeurs des cellules de la ligne B3 dans la 1° ligne vide
    .Range(.Cells(lig, 2), .Cells(lig, 17)) = .Range("B3:Q3").Value
End With

With Sheets(1)
'on nettoie la feuille de saisie à complèter avec les 13 cellules restantes (ne pas oublier les points devant range)
plage = Union(.Range("K7"), .Range("M12"), .Range("F13")).ClearContents
End With

MsgBox "les données ont été archivées en feuille2"
End Sub
Cordialement, Michel

Répondre à michel_m

2

eriiic, le 1 jui 2009 à 10:08:13

Bonjour tiny, bonjour michel,

Ah, j'arrive avec un metro de retard... :-)
Voilà quand même ma réponse : tiny61.xls
Comme michel, je n'ai fait que qcq cellules...

Bonne journée à tous
eric

Répondre à eriiic

3

Tiny61, le 1 jui 2009 à 12:30:01

Merci à vous deux pour votre aide, je vais tester tout ça dans la journée et je vous tiens au jus !

C'est bien de savoir qu'il y a encore un peu de solidarité dans ce monde de rise ^^

Répondre à Tiny61

4

 Tiny61, le 1 jui 2009 à 13:45:58

CA A L'AIR DE MARCHER ! il me reste plus qu'à modifier un peu la macro pour que toutes mes cellules soient prises en compte et c'est bon, encore merci !!

Répondre à Tiny61