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

comment automatiser une selection aleatoire ?

assniok

XLDnaute Occasionnel
Bonjour a tous,

je cherche à automatiser une selection dans un fichier excel.

avec ça, ça fonctionne sur un type de fichier mais ce n'est pas aleatoire.... des que ma zone E2:J54 change, ça ne fonctionne plus...

Code:
    Range("E2:J54").Select
    selection.Copy

La seule chose qui est fixe, c'est le debut de la selection E2, par contre pour la colonne J, je ne sais pas determiner la derniere cellule non vide ?

avez vous une idée ?

merci d'avance et bonne journée.
 

Staple1600

XLDnaute Barbatruc
Re : comment automatiser une selection aleatoire ?

Bonjour à tous, tototiti2008


Une variante du code précédent
(ici on recopie les données en P2 (enfin P2 est la première cellule recevant les données à coller )par exemple)
Code:
 Range("E2:J" & [J65536].End(XlUp).Row).Copy Range("P2")
 
Dernière édition:

assniok

XLDnaute Occasionnel
Re : comment automatiser une selection aleatoire ?


salut et merci pour vos reponses

cette derniere solution me semble bien.

Mon pb est que je dois faire une selection dans le fichier A.xls (donc la plage E2:Jxxx), la copier dans la cellule E2 d'un autre fichier B.dbf... et ces 2 fichiers ne sont pas forcemment toujours les memes donc pas simple de trouver une procedure qui fonctionne dans tout les cas

est ce possible ou dois je passer obligatoirement par des macros ou autres pour jongler entre mes deux fichiers ?
 

assniok

XLDnaute Occasionnel
Re : comment automatiser une selection aleatoire ?

Bon j'ai essayé de faire comme ça pour m'en sortir mais ça ne foncionne pas

Code:
Private Sub CommandButton2_Click()
DerLigne = Range("J65536").End(xlUp).Row
Range("E2:J" & DerLigne).Copy
End Sub

'Entre ces 2 boutons, je change de fichier via une macro et je souhaiterais que mon bouton 3, colle la selection precedemment copiée dans mon nouveau fichier...

Private Sub CommandButton3_Click()
[COLOR="Red"]Copy Range("E2")[/COLOR]
End Sub

si vous avez une idée du code en rouge qu'il faut utiliser pour que ça fonctionne...

merci
 

assniok

XLDnaute Occasionnel
Re : comment automatiser une selection aleatoire ?

Re,

à tester :

Range("E2:J" & DerLigne).Copy Workbooks("2èmeClasseur.xls").worksheets("Feuil1").range("E2")

je ne suis pas sur que ce soit possible comme ça car les classeurs qui seront ouverts ne sont pas connus a l'avance, donc les noms changent tout le temps...

donc j'etais plutot partis comme ça :
Code:
    'Selection & copie de la plage concernée de E2 a la derniere cellule non vide de la colonne J
Private Sub CommandButton2_Click()
DerLigne = Range("J65536").End(xlUp).Row
Range("E2:J" & DerLigne).Copy
End Sub
    'Copie de la selection sur la nouvelle feuille active
Private Sub CommandButton3_Click()
ActiveSheet.Select 'sélectionne la feuille active où il faut coller
Range("E2").Select 'sélectionne la cellule/bloc ou il faut coller
Selection.PasteSpecial _
Paste:=xlPasteAll, Operation:=xlPasteSpecialOperationAdd
End Sub

cependant, ça ne me copie que les valeur numeriques, j'ai essayé differents arguments, mais je n'arrive pas a copier les cellules en integralité... celles contenants du texte ne sont pas copiées... pourquoi ??

encore merci pour votre aide
 

Staple1600

XLDnaute Barbatruc
Re : comment automatiser une selection aleatoire ?

Re


Ca devrait fonctionner ( a tester)

Code:
Dim WBk as Workbook
Dim s as Worksheet
set s=ActiveSheet
Set WBk=Workbooks("2èmeClasseur.xls")
Range("E2:J" & DerLigne).Copy WBk.s.range("E2")
 

assniok

XLDnaute Occasionnel
Re : comment automatiser une selection aleatoire ?

encore une petite question sur ce sujet...

Est il possible via une msgbox par exemple d'afficher la valeur de la cellule Ax de la derniere ligne contenant des valeurs dans la cellule Jx ?
 

Discussions similaires

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