Comment exporter des cellules

P

Phil

Guest
Bonjour à tous(tes)

mon problême est d'exporter des cellules d'une feuille à l'autre.

ci joint un petit fichier plus explicite.

Bravo pour ce Forum et merci pour l'aide apportée .


Phil
 

Pièces jointes

  • Export.zip
    2.1 KB · Affichages: 18
  • Export.zip
    2.1 KB · Affichages: 21
  • Export.zip
    2.1 KB · Affichages: 21
J

juju

Guest
Hello,

Voici une solution. Tu peux dans le fichier modifier pour mettre <>"" au lieu de ="ok" si c'est trop restrictif

Espérant avoir pu t'aider...

Bye

Ju
 

Pièces jointes

  • Export.zip
    8.9 KB · Affichages: 30
  • Export.zip
    8.9 KB · Affichages: 27
  • Export.zip
    8.9 KB · Affichages: 26
G

Gérard DEZAMIS

Guest
Bonsoir Juju
Peux-tu m'expliquer pourquoi lorsque je place ton code non pas dans un bouton Formulaire mais dans un bouton Contrôles cela ne fonctionne plus correctement.

Merci par avance
Bien sincèrement

@+
GD
 
M

michel

Guest
bonjour Phil , Gérard et Juju

ci-dessous une adaptation pour que cela fonctionne avec un bouton de la boite à outils controles (il faut juste préciser le nom de la feuille pour chaque plage de cellules selectionnée )

Private Sub CommandButton1_Click()
Dim i As Integer, j As Integer
i = 11
j = 7
'i correspondant au 1er N° de ligne du tableau commence à la ligne 11
Sheets("Feuil2").Select
Sheets("Feuil2").Range("B7:B20").Select
Selection.ClearContents

Do While Len(Sheets("Feuil1").Cells(i, 2).Value) > 0
If Sheets("Feuil1").Range("A" & i) = "ok" Then
Sheets("Feuil1").Select
Sheets("Feuil1").Range("B" & i).Select
Selection.Copy
Sheets("Feuil2").Select
Sheets("Feuil2").Range("B" & j).Select
ActiveSheet.Paste
End If
If Sheets("Feuil1").Range("A" & i) = "ok" Then j = j + 1
i = i + 1
Loop
End Sub



sinon une autre version sur le meme principe de boucle "Do While" , mais sans Select et sans copier/coller

Private Sub CommandButton2_Click()
Dim i As Integer, j As Integer
i = 11
j = 7

'Range("A1").Select 'pour excel97

'i correspondant au 1er N° de ligne du tableau commence à la ligne 11
Sheets("Feuil2").Range("B7:B20").ClearContents

Do While Len(Sheets("Feuil1").Cells(i, 2).Value) > 0
If Sheets("Feuil1").Range("A" & i) = "ok" Then
Sheets("Feuil2").Range("B" & j) = Sheets("Feuil1").Range("B" & i)
j = j + 1
End If
i = i + 1
Loop

End Sub



et un autre principe de boucle…

Private Sub CommandButton3_Click()
Dim Cell As Range
Dim i As Integer

'Range("A1").Select 'pour excel97
Sheets("Feuil2").Range("B7:B20").ClearContents

'derniere cellule non vide dans la colonne A de la Feuil1
i = Sheets("Feuil1").Range("A65536").End(xlUp).Row

For Each Cell In Sheets("Feuil1").Range("A11:A" & i)
If Cell = "ok" Then _
Sheets("Feuil2").Range("B" & Sheets("Feuil2").Range("B65536").End(xlUp).Row + 1) = Cell.Offset(0, 1)
Next
End Sub


bonne journée
MichelXld
 
G

Gérard DEZAMIS

Guest
Bonjour et Bonne Journée à tous

Salut et MERCI ! Michel

Tu attaques dès 8h00 ! Comment vais-je pouvoir passer une journée tranquille maintenant !
A cause de toi il va falloir que je me mette au boulot de bonne heure mais...
Grace à toi j'aurai avancé un petit peu encore ....
La route du VBA est longue !

Alors Merci encore et à bientôt

@+
GD
 

Discussions similaires

Réponses
24
Affichages
404
Réponses
5
Affichages
98
M
Réponses
9
Affichages
468
Maikales
M

Statistiques des forums

Discussions
312 109
Messages
2 085 386
Membres
102 880
dernier inscrit
ADEL N