Copier des données en fonction d'une plage de cellule donnée

Bonjour,

J'aimerais copier des données en sélectionnant une plage de cellule via un userform.

Exemple : Dans la feuille intitulé "20", je souhaiterais si c possible quand je clique sur mon bouton "importer", sélectionner la plage de cellule dans la feuille intitulé "20" puis qu'il créer une page avec comme intitulé feuille "info 2" (cellule K4). Dans cette nouvelle feuille intitulé "info2"qu'il prenne le "masque 2" et associe toutes les valeurs de info allant de "1 à 55".

Deuxièmement il faut que lorsque la plage de cellules changent il créer une nouvelle feuille avec les memes infos que ci dessus.

Merci pour votre aide.

Le fichier est joint ci dessus.

13lolo92-test2.xlsm (224.11 Ko)

Des idées ? Merci à vous.

Quelqu'un ?

Bonjour à tous,

En fouillant un peu j'ai trouvé le module permettant déjà de selectionner la plage de donnée voulu;

Private Sub CommandButton1_Click()

End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub RefEdit1_BeforeDragOver(Cancel As Boolean, ByVal Data As MSForms.DataObject, ByVal x As stdole.OLE_XPOS_CONTAINER, ByVal y As stdole.OLE_YPOS_CONTAINER, ByVal DragState As MSForms.fmDragState, Effect As MSForms.fmDropEffect, ByVal Shift As Integer)

End Sub

Ma question est la suivante, comment faire le lien entre la plage de donnée selectionné et le bouton créer la feuille qui est "Commandbutton1_Click" ?

Merci à tous

Bonjour,

j'ai plusieurs question :

  • on crée une page avec comme nom "info 2" ou avec comme nom la valeur présent dans la cellule K4 ?
  • une fois la page crée , on copie colle la feuille masque2 dessus ?
  • à quoi sert cette plage ?

en ce qui concerne la sélection de de plage :

Private Sub CommandButton1_Click()
Dim plage As Range
Set plage = Range(CStr(TextBox1.Text))

'la suite du code
End Sub

Bonjour minanse,

Merci pour ton aide

Ci joint le code :

Private Sub CommandButton1_Click()
the_range = RefEdit1.Value
If the_range = "" Then 'Si la plage est vide il ne fait rien
Else

'Dans la feuille 20
'Ici je souhaiterais qu'ils copient toutes les cellules en fonction de la sélection de la plage sélectionné via le userform ou le nom info 'allant de "1 à 55"apparait. 
'Puis qu'ils les collent dans le masque (La difficulté est que la selection change "page1", "page2"... l'indexage des cellules ou sont 'info 1 à 55 ne sont pas les mêmes). 
'Ensuite il faudrait qu'il créer une feuille avec le nom "20_Masque". 

'Si la feuille n'existe pas il créer la feuille. Sinon si elle existe un message apparait en demandant "Voulez vous ecraser les valeurs 'déjà existante ?" 

Range("K4").Select
Selection.Copy
Sheets("Masque").Select
Range("F12:G12").Select
ActiveSheet.Paste 
End If
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub RefEdit1_BeforeDragOver(Cancel As Boolean, ByVal Data As MSForms.DataObject, ByVal x As stdole.OLE_XPOS_CONTAINER, ByVal y As stdole.OLE_YPOS_CONTAINER, ByVal DragState As MSForms.fmDragState, Effect As MSForms.fmDropEffect, ByVal Shift As Integer)

End Sub

Merci encore

17lolo92-test2.xlsm (229.22 Ko)

je n'est toujours pas compris où il faut coller la plage sélectionner .

lolo92 a écrit :

'Ensuite il faudrait qu'il créer une feuille avec le nom "20_Masque".

'Si la feuille n'existe pas il créer la feuille. Sinon si elle existe un message apparait en demandant "Voulez vous ecraser les valeurs 'déjà existante ?"

pour les 2 cas par contre voici le code

dim valide as boolean 
valide = false
For i = 1 To Sheets.Count
  If Sheets(i).Name = "20_masque" Then
    rep = MsgBox("Voulez vous ecraser les valeurs 'déjà existante ?", vbOKCancel)
      If rep = vbOK Then
      Application.DisplayAlerts = False
        Sheets(i).Delete
        Sheets.Add(Sheets(Sheets.Count)).Name = "20_masque"
        Application.DisplayAlerts = True
        valide = true
    end if
Next i
if valide = false then
Sheets.Add(Sheets(Sheets.Count)).Name = "20_masque"
end if

Je voudrais lorsque la plage est sélectionné copier les valeurs se trouvant dans info "1 à 55" dans la feuille 20 et qu'ils se collent à leur endroit respectif dans le masque.

Exemple : Sur la feuille 20, "Info25" correspondant à la cellule S19 , la coller dans la cellule G27 du masque.

Merci

une dernière question :

les info "1 à 55" sont des code(/clé) ou des information que vous rentré selon le besoin ?


sur ce format je n'est pas vrai d'idée à vous proposer mis à part le "range() = range()"

Bonjour minanse,

Ce sont des informations info allant de 1 à 55.

Merci pour ton aide,

Lolo

Rechercher des sujets similaires à "copier donnees fonction plage donnee"