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
 

Fichiers joints

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
 

Fichiers joints

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
 
J

juju

Guest
Re,

Arghhhh j'en sais rien du tout :-(

Je n'utilise que le bouton formulaire... désolé

Ju
 
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
 
P

Phil

Guest
Merci à tous pour les solutions apportées.

vous etes vraiment super.

phil
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas