selection première ligne vide et copie de valeur

brux40

XLDnaute Nouveau
Bonjour le forum,

Je m'en remets à vous car je bloque depuis un petit moment sur un problème.
:confused:
En effet j'essaie de venir sélectionner la première cellule vide à partir du bas dans mon onglet "base de donnée", colonne A pour cela j'utilise la commande "xlUp" dans un userform (validation) .
Et j'aimerais me servir de cette cellule pour venir copié des cellules (les 10 cellules au dessus de cette cellule) pour les coller 2 lignes en dessous.

Ah therme j'aimerai venir copié un tableau de l'onglet "calcul" pour le coller dans "l'onglet base de donnée" à coté de ces 10 cellules collé.

J'espère avoir été assez clair, en tout cas je me tiens à votre disposition si vous souhaitez plus de renseignement.


Merci d'avance
 

Pièces jointes

  • Brux40test.xls
    132.5 KB · Affichages: 95

Modeste

XLDnaute Barbatruc
Re : selection première ligne vide et copie de valeur

Bonjour brux40,

En admettant que j'aie bien compris, ceci copie les 10 dernières cellules de la colonne A et colle le résultat en laissant 2 lignes vides:
VB:
With Sheets("base de donnee")
    .[A50000].End(xlUp).Offset(-9, 0).Resize(10, 1).Copy Destination:=.[A50000].End(xlUp).Offset(3, 0).Resize(10, 1)
End With
... à toi de voir si ça correspond! Je ne me suis pas occupé de ce que tu voudrais faire ... dans un second temps :p
 

Modeste

XLDnaute Barbatruc
Re : selection première ligne vide et copie de valeur

Re-bonjour,

est-il possible de nommer la cellule sélectionné, par exemple "j"
:confused: Tu veux dire: utiliser une variable de type Range? Si oui, ce qui suit ressemblerait à ce que tu imagines?

VB:
Dim j As Range
With Sheets("base de donnee")
    Set j = .[A50000].End(xlUp)
    j.Offset(-9, 0).Resize(10, 1).Copy Destination:=j.Offset(3, 0).Resize(10, 1)
End With
 

brux40

XLDnaute Nouveau
Re : selection première ligne vide et copie de valeur

Oui c'est à sa que je pensais :)

Merci beaucoup sa fonctionne parfaitement.
Mais je pensais plus à une programmation de ce style pour faire le copié collé

Set j = .[A50000].End(xlUp)
.Range("A" & j - 10 & ":A" & j - 1).Copy Destination:=.Range("A" & j + 2 & ":A" & j + 11)

Je ne sais pas si c'est possible car je débute en programmation
 

Modeste

XLDnaute Barbatruc
Re : selection première ligne vide et copie de valeur

Re²,

Tu peux effectivement écrire quelque chose comme ce qui suit. Attention au type de variable utilisé et aux petites différences de syntaxe (pas de "Set", un ".row", ...)
VB:
Dim j As Long
validation.Hide
With Sheets("base de donnee")
    j = .[A50000].End(xlUp).Row
    .Range("A" & j - 10 & ":A" & j - 1).Copy Destination:=.Range("A" & j + 2 & ":A" & j + 11)
End With
Ceci dit, il faudra vérifier les valeurs utilisées (-10, -1, etc.): pas certain que tu obtiennes précisément le résultat attendu:confused:
"j = .[A50000].End(xlUp).Row" donne le numéro de la dernière cellule non-vide, en colonne A
 

brux40

XLDnaute Nouveau
Re : selection première ligne vide et copie de valeur

D'accord je vai vérifier tout cela,

Franchement merci beaucoup sa m'a bien aidé dans mes macros.
Par sera t-il possible de faire des copié collé de cellule dans les colonne suivante (B,C,D....)
Je pense que oui, il suffira de modifier le nom de la colonne

.....Copy Destination := .Range("B"......)


Merci encore une fois pour ton aide
:)
 

Discussions similaires

Statistiques des forums

Discussions
312 497
Messages
2 088 994
Membres
104 000
dernier inscrit
dinelcia