Bonjour à tous,
D'habitude, je trouve la solution en parcourant le forum ...mais là je sèche. J'aimerai copier une ligne entière dans un autre classeur.
J'ai 2 classeurs : le 1er me sert de formulaire de saisie des données. le 2ème de base de donnée.
Dans le 1er classeur :
- onglet 1 , 2 et 3 l'utilisateur saisie ses données suivant un masque.
- onglet 4 : je recopie les données sur une seule ligne
Dans le 2ème Classeur :je recopie les données. une ligne = une saisie
le code ci dessous, me recopie la ligne en question ... mais plusieurs fois jusqu'à la 1ère cellule disponible et m'écrase les autres saisies. Alors que je ne cherche qu'à copier une ligne à la suite des autres déjà enregistrées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 TEMPO.Activate 'dans l'onglet TEMPO Range("A4").Select Range(Selection, Selection.End(xlToRight)).Select 'je selectionne toutes les cellules utile de la ligne à copier Selection.Copy ' Dans un autre classeur (qui me sert de base de donnée) que j'ai préalablement ouvert, je recherche la 1ere ligne libre disponible If ActiveSheet.Range("A2") = "" Then ActiveSheet.Range("A2").Select Else ActiveSheet.Range("A1").End(xlDown).Offset(1, 0).Select 'A1 est une entête de colonne donc toujours invariable End If ' et je recopie ... peut être est ce là que ça cloche ? Activesheet.Paste
J'arrive à copier cellule par cellule (en utilisant "offset") mais là, j'ai environ une centaine de données à copier à la fois.
Ca me ferai une centaine de ligne avec "offset" en plus d'être long, ça serait fastidieux à mettre à jour...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ActiveCell.Offset(0, 1).Value = Onglet1.Range("R19") ActiveCell.Offset(0, 2).Value = Onglet2.Range("R20") ActiveCell.Offset(0, 3).Value = Onglet3.Range("R21") ActiveCell.Offset(0, 4).Value = Onglet4.Range("R22") 'etc ...
Est ce qu'une âme charitable pourrai m'expliquer ce qui ne fonctionne pas et me donner une piste ?
meci d'avance pour vos lumières ...
Thierry
Partager