Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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.

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
 

brux40

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

Sa marche très bien merci beaucoup.

Mais est-il possible de nommer la cellule sélectionné, par exemple "j".
Cela serait-il pas plus simple??
 

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"
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
"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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…