Copie de cellules vers blocnote

Résolu/Fermé
Nimbus - 10 mars 2008 à 14:16
Mike-31 Messages postés 18314 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 18 mars 2008 à 14:05
Bonjour,
J'ai un tableau excel avec 3 feuilles, la 1 sert de saisie, la 2 de racapitulatif et la 3 me sert à récupérer des données que j'envoi vers le bloc note pour une autre application.

j'ai créer une macro qui me récupere les données de W2 à W645. la ou je coince c'est que suivant le nombre de saisies peut varié. EX W2 à W30 ou W2 à W70 ou au maxi W2 à W645. comment dans ma mocro prendre automatiquement les lignes qui sont différentes de zérol

merci à tous
A voir également:

12 réponses

Ivan-hoe Messages postés 433 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 17 octobre 2008 309
11 mars 2008 à 18:34
Bonjour Nimbus,
s'agit-il de récupérer les lignes non vides ou différentes de zéro ?
et , que ce soit jusqu'à W30 ou W70, est ce que les lignes se suivent ? ou bien il y a des trous (lignes sautées) entre les saisies ?
merci de ces quelques précisions.
I.
0
bonjour Ivan-hoe

merci pour ton aide, toutes les lignes se suivent mais comme dit avant le nombre peut varié

encore merci pour ton aide
0
Mike-31 Messages postés 18314 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 073
12 mars 2008 à 15:59
Salut,

j'ai fais ce genre de macro, en fait je partais depuis le bas de mon tableau ici en la cellule D23 et dès qu'une cellule contenait quelque chose, de cette cellule active a la cellule U2 était sélectionné et se mettait en situation de EDITION/COPIER

Private Sub CommandButton1_Click()
Range("D23").Select
If ActiveCell > "" Then
Range("U2", ActiveCell).Select
Selection.Copy
Else
ActiveCell.Offset(-1, 0).Range("A1").Select
Do While ActiveCell.Value = ""
ActiveCell.Offset(-1, 0).Range("A1").Select
Loop
End If
End Sub
0
Ivan-hoe Messages postés 433 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 17 octobre 2008 309
13 mars 2008 à 14:19
Bonjour Nimbus, salut Mike-31,
autre méthode : puisque tes lignes se suivent, tu peux utiliser le .end(xldown), qui permet d'aller à la dernière cellule remplie.
par exemple :
range("W2").select
range(activecell, activecell.end(xldown)).entirerow.select

I.
0
Mike-31 Messages postés 18314 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 073
15 mars 2008 à 21:16
Salut,

Pas de réponse bonne nouvelle mais si ton problème est résolu marque le sur ton dernier post

Merci
0

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

Posez votre question
bonjour
excusez pour la non réponse mais pris par ailleur
désolé mais mon problème n'est pas résolu le me retrouve toujours avec des lignes vide dans le bloc note car il me renvoi toute les cellules de W2 à W645 alors que certaine ont 0
0
Mike-31 Messages postés 18314 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 073
16 mars 2008 à 14:28
Salut,

mais c'est normal, tu demandes de l'aide on te donne des explications à toi de les adapter à ton problème

Pour commencer s'il y a des lignes vides dans la colonne, soit tu poses un filtre automatique et tu fais un tri décroissant ou tu écris une macro pour les supprimer avant d'utiliser la macro sélection.
En ce qui concerne la macro copie celle que je t'ai écrite dans un module.
Elle démarre la recherche à la cellule W700 et remonte pour sélectionner ta colonne dès qu'une valeur supérieure à 0 est rencontrée. Elle intégre édition/copier il ne te reste plus qu'a lui montrer la première cellule ou tu veux la copier et faire édition coller ou la compléter pour automatiser cette dernière tache.

Sub sélection()
Range("W700").Select
If ActiveCell > 0 Then
Range("W2", ActiveCell).Select
Selection.Copy
Else
ActiveCell.Offset(-1, 0).Select
Do While ActiveCell.Value <= 0
ActiveCell.Offset(-1, 0).Select
Loop
If ActiveCell = "NUMERO" Then
Else
If ActiveCell > 0 Then
Range("W2", ActiveCell).Select
Selection.Copy
End If
End If
End If
End Sub

A+
0
Bonsoir
merci à tous ceux qui m'ont donné un coup de main et surtout à Mike-31.
j'ai réusi à faire ce que je voulais ca fonctionne comme je voulais
merci

juste une autre question si ce n'est pas trop abuser de vous mais je débute en VBA:

dans la même macro je récupére mes cellules, je les copie dans un fichier texte que j'appele "fichier.txt" qui se trouve sous "mes documents" jusque la OK tous fonctionne merci encore.
ma question est : est-il possible dans la même macro mettre quelque chose qui m'enléverai l'extention "txt" car je suis obliger de la supprimer manuellement. en effet un logiciel qui reprent ces information n'accepte pas d'extention.
si ce n'est pas possible ce n'est pas grave mais c'était pour finir de tout automatiser

merci encore pour votre aide précieuse
0
Mike-31 Messages postés 18314 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 073
17 mars 2008 à 21:38
Salut,

Je ne comprends pas, avec quel logiciel travailles tu pour avoir une extention .TXT

A+
0
Ivan-hoe Messages postés 433 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 17 octobre 2008 309
17 mars 2008 à 21:44
Salut,
nomfichier = Left(nomfichier, Len(nomfichier) - 4) permet de supprimer l'extension (les 4 derniers caractères).
I.
0
nimbus23 Messages postés 10 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 21 juin 2011
17 mars 2008 à 22:19
bonsoir mike-31
merci pour ton aide je t'explique
l'an dernier nous avions un logiciel de suivi du matériel ( logiciel DOS ) et un logiciel de facturation sous DOS également
depuis le 1 janvier nous avons supprimer le logiciel de suivi du matériel par un tableau excel mais le logiciel de facturation lui est toujours la d'ou le besoin de recuperer certaine données et les transformer en fichier texte et c'est pour cela que j'ai demander de l'aide pour mes macro.

merci encore à toi Mike-31 et à Ivan_hoe
0
Mike-31 Messages postés 18314 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 073
17 mars 2008 à 22:56
Ok je comprends mais il n'est pas possible d'intégrer dans une macro excel la suppression d'une extension d'un fichier tiers, ce qui est possible c'est enregistrer sous un fichier excel avec cette formule qui nommera le fichier Classeur1.xls par exemple.

Sub Macro1()

'
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\xxxxxxxxxxxx\Mes documents\Classeur1.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

n'oublies pas de porter ton probléme résolu

A+
0
Bonjour à tous

merci pour votre aide maintenant que tous fonctionne comme je le désirer la suppréssion de l'extention automatique ne m'est pas indispensable. je vais en rester la.
merci encore à Mike-31 et à yvan_hoé pour votre aide trés précieuse. C'est bon de savoir que dans notre monde d'aujoud'hui basé principalement sur l'argent des personnes comme vous peuvent encore nous venir en aide comme vous le faite;
encore merci
Nimbus23
0
Mike-31 Messages postés 18314 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 073
18 mars 2008 à 14:05
Merci à toi marque ton problème résolu et A+ sur la toile
0