Copier

Résolu
tonstre Messages postés 15 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 16 juillet 2010 - 7 févr. 2006 à 20:35
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 8 févr. 2006 à 20:27
Bonjour,
je souhaiterais créer une boite de dialogue à insérer dans un programme adin de pouvoir choisir le nombre d'enregistrements à copier dans un classeur et pouvoir ensuite les coller dans un autre classeur.

6 réponses

jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
8 févr. 2006 à 20:27
Bonsoir,

Dim NombEnreg As Integer

NombEnreg = InputBox("Entrer la Limite d'enregistrement", "Sélection")
Range("A2", "C" & NombEnreg).Select

Voila qqch qui pourrait peu etre t'aider

@+
Julien
3
Orlean2 Messages postés 50 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 1 décembre 2015
7 févr. 2006 à 22:18
Je n'ais pas tout compris dans ta question, j'esite a te repondre désoler a +
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
8 févr. 2006 à 08:36
Salut,

Je me joint a Orlean2 pour dire:

Explique un peu mieux ton probleme pour avoir une reponse adaptee, tu y gagneras du temps et nous aussi soit dit en passant.

Voili,

@+
Julien
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
8 févr. 2006 à 12:10
Bonjour,

Si tu veux dire ouvrir des fichiers .xls pour y coller des
enregistrements, alors voici un code qui ouvre dans ton classeur actif,
les fichiers.xls que tu sélectionnes (Ctrl + Souris).Il te suffis alors
de les ouvrirs et de copier/coller tes enregistrements.

Si ce n'est pas celà, alors tiens toujours le code, il pourra te servir.



Sub OuvreClasseur()

Dim strFiles

Dim xlFiles

Dim blnOuvert As Boolean

Dim strMessage As String

Dim wbk As Workbook

Dim i As Integer

Dim j As Integer



'Affiche la boîte de dialogue Ouvrir

strFiles = Application.GetOpenFilename _

(FileFilter:="Fichiers Excel (*.xls),*.xls", _

Title:="Sélectionnez les fichiers à ouvrir", _

MultiSelect:=True)



'Teste si des fichiers ont été sélectionnés

If TypeName(strFiles) = "Variant()" Then

ReDim xlFiles(UBound(strFiles))

For i = 1 To UBound(strFiles)



'Contrôle l'exention du fichiers

If Right(strFiles(i), 3) = "xls" Then



'Teste si le fichier est déjà ouvert

blnOuvert = False

For Each wbk In Workbooks

If wbk.Path & "" & wbk.Name = strFiles(i) Then

blnOuvert = True

End If

Next wbk



'Stocke le nom de fichiers dans un tableau

If Not blnOuvert Then

j = j + 1

xlFiles(j) = strFiles(i)

strMessage = strMessage & strFiles(i) & vbCr

End If

End If

Next i



'Ouvre tous les fichiers Excel après confirmation

If j > 1 Then

strMessage = "Confirmez-vous l'ouverture des fichiers :" _

& vbCr & strMessage

If MsgBox(strMessage, vbYesNo + vbQuestion) = vbYes Then

For i = 1 To j

Workbooks.Open FileName:=xlFiles(i)

Next i

End If

End If

Else

MsgBox "Aucun fichier sélectionné"

End If

End Sub



jpleroisse



Si une réponse vous convient, cliquez réponse Acceptée.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tonstre Messages postés 15 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 16 juillet 2010
8 févr. 2006 à 19:05
Bonjour,


c'est vrai, je n'ai peut être pas été très explicite.


En fait, dans mon programme, selon certains critères,j'ai extrait certaines données dans une plage (allant de a2 à c500), sur une autre feuille. A ce stade de mon programme, je veux copier une partie de ces données ( de a2 à c30 par exemple) dans un autre classeur. Ce qui m'intéresserait c'est qu'une boite de dialogue s'ouvre et me demande "Combien d'enregistrements voulez-vous copier" et que dans cette boite de dialogue, du fait de lui dire "30" il me sélectionne la plage "a2:c30"pour ensuite pouvoir aller coller tout ça dans un autre classeur, ce que j'arrive à faire mais avec la totalité de la plage "A2:c500". De même si je ne veux copier que 24, entrer dans la boite de dialogue 24 et que seule la plage "a2:c24" soit sélectionnée.
Si je ne suis pas encore assez explicite, dites-moi ce qui manque dans l'exposé de mon problème.
Merci d'avance
0
tonstre Messages postés 15 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 16 juillet 2010
8 févr. 2006 à 19:05
Bonjour,


c'est vrai, je n'ai peut être pas été très explicite.


En fait, dans mon programme, selon certains critères,j'ai extrait certaines données dans une plage (allant de a2 à c500), sur une autre feuille. A ce stade de mon programme, je veux copier une partie de ces données ( de a2 à c30 par exemple) dans un autre classeur. Ce qui m'intéresserait c'est qu'une boite de dialogue s'ouvre et me demande "Combien d'enregistrements voulez-vous copier" et que dans cette boite de dialogue, du fait de lui dire "30" il me sélectionne la plage "a2:c30"pour ensuite pouvoir aller coller tout ça dans un autre classeur, ce que j'arrive à faire mais avec la totalité de la plage "A2:c500". De même si je ne veux copier que 24, entrer dans la boite de dialogue 24 et que seule la plage "a2:c24" soit sélectionnée.
Si je ne suis pas encore assez explicite, dites-moi ce qui manque dans l'exposé de mon problème.
Merci d'avance
0
Rejoignez-nous