OVH Cloud OVH Cloud

Traduction VBA + autres

16 réponses
Avatar
Nico
Bonsoir,

J'ai 4 questions, un tout en 4.

1 - Je souhaite traduire en VBA :
comment renommer une feuil quel que soit son nom actuel ?

2 - J'ai une BD classique avec les titres en ligne 1 et les données dessous,
comment en VBA lui demander de selectionner toutes les lignes des données et
ce jusqu'à la derniere ligne remplis. Attention je souhaite prendre les
lignes et non pas que les données.

3 - Dans une BD tjrs classique, je souhaite supprimer toutes les lignes
comportant le mot "toto" dans la colonne Y

4 - J'ai fait une macro qui à entre autre pour but d'aller dans un fichier
nommé "toto 01_2006.xls" le soucis c'est que maintenant il bug car le
fichier se nomme désormais "toto 02_2006.xls". Est t'il possible d'inclure
dans ma macro une boite de dialogue lui demandant le nom du fichier afin que
ma macro fonctionne tjrs.

Je sais, j'ai du abuser. En tous cas merci d'avance aux bonnes ames.

Nico

6 réponses

1 2
Avatar
anonymousA
Bonjour,

il me semble que tu as oublié la ligne en question où tu devais parler
de getopenfilename.

A+

L'essayer, c'est l'adopter ;-))

Avant d'envoyer tes données, tu mets cette ligne. Ca va t'ouvrir une boite de dialogue
semblable à l'explorateur ou tu pourras choisir ton fichier.
Ensuite tu remplace ta ligne avec "toto 01_2006.xls" par monFichier.

j-p



Avatar
JpPradier
Oui tu as raison, c'était pour voir si quelqu'un suivait ;-))

monFichier = Application.GetOpenFilename("Excel files,(*.xls)")
If mon Fichier <> False then Workbooks.Open Filename:=monFichier

A noter qu'il convient de rajouter un test au cas ou l'utilisateur clique sur 'Annuler'.

j-p
Avatar
Nico
Super,

Merci à tous

Nico

"JpPradier" a écrit dans le message
de news: ##
Oui tu as raison, c'était pour voir si quelqu'un suivait ;-))

monFichier = Application.GetOpenFilename("Excel files,(*.xls)")
If mon Fichier <> False then Workbooks.Open Filename:=monFichier

A noter qu'il convient de rajouter un test au cas ou l'utilisateur clique
sur 'Annuler'.


j-p



Avatar
Nico
trop bien et si simple quand l'on connait.

Merci encore

Nico

"anonymousA" a écrit dans le message de news:
43f0dca7$0$6647$
Activesheet.name="nouveau nom"

A+


Impec pour le 2, ca fonctionne. Merci

Pour la feuil à renommer, en faite le repere que j'ai, c'est que je suis
dessus, mais le nom n'est pas tjrs le meme.
Le but est de lui dire nomme la feuil ou je suis "toto" peu importe
comment


tu t'appelles.

Merci
Nico

"anonymousA" a écrit dans le message de news:
43f0d90d$0$6647$

Bonjour,

si tu veux renommer, il va bien falloir que tu aies un minimum d'infos
sur la dite feuille si celle-ci n'est pas unique dans le classeur. Si
elle est unique alors le problème ne se pose pas et il faut écrire
sheets(1).name = "nouveau nom"

-Pour ce qui concerne la selection des lignes sous les entetes il s'agit
de détecter quelle est la dernière ligne non vide ce qui est un
classique du genre en supposant bien sur que les entetes sont sur la
ligne 1 , autrement il faudra adapter.

Lxfin = Cells.Find("*", [A1], xlFormulas, , xlByRows, xlPrevious).Row
Rows("2:" & Lxfin).Select

-Pour la question de la recherche du fichier dont le nom a changé, un
petit coup de Getopenfilename pour laisser à l'utilisateur le soin de le
rechercher lui-même évite bien des complications et des soucis. Il faut
cependant prévoir un test de validité de sa recherche avant de lancer la
suite du programme mais c'est en général très simple et très faisable.

A+


Pour la question :
1 - Le soucis c'est que je ne connais jamais à l'avance l'ancien nom,



donc

ceci ne peut coller.


"Clément Marcotte" a écrit dans le



message

de news:


Bonjour,



1 - Je souhaite traduire en VBA :
comment renommer une feuil quel que soit son nom actuel ?


sheets("ancien nom").name = "nouveau nom" (du moins, je pense)



"Nico" a écrit dans le message de news:
eTyL$


Bonsoir,

J'ai 4 questions, un tout en 4.


2 - J'ai une BD classique avec les titres en ligne 1 et les données
dessous,
comment en VBA lui demander de selectionner toutes les lignes des



données


et
ce jusqu'à la derniere ligne remplis. Attention je souhaite prendre
les






lignes et non pas que les données.

3 - Dans une BD tjrs classique, je souhaite supprimer toutes les
lignes






comportant le mot "toto" dans la colonne Y

4 - J'ai fait une macro qui à entre autre pour but d'aller dans un



fichier


nommé "toto 01_2006.xls" le soucis c'est que maintenant il bug car le
fichier se nomme désormais "toto 02_2006.xls". Est t'il possible



d'inclure


dans ma macro une boite de dialogue lui demandant le nom du fichier





afin

que
ma macro fonctionne tjrs.

Je sais, j'ai du abuser. En tous cas merci d'avance aux bonnes ames.

Nico



















Avatar
Clément Marcotte
On fait comment pour le deviner ?


"Nico" a écrit dans le message de news:

Pour la question :
1 - Le soucis c'est que je ne connais jamais à l'avance l'ancien nom, donc
ceci ne peut coller.


"Clément Marcotte" a écrit dans le message
de news:
Bonjour,

1 - Je souhaite traduire en VBA :
comment renommer une feuil quel que soit son nom actuel ?


sheets("ancien nom").name = "nouveau nom" (du moins, je pense)



"Nico" a écrit dans le message de news:
eTyL$
Bonsoir,

J'ai 4 questions, un tout en 4.


2 - J'ai une BD classique avec les titres en ligne 1 et les données
dessous,
comment en VBA lui demander de selectionner toutes les lignes des
données


et
ce jusqu'à la derniere ligne remplis. Attention je souhaite prendre les
lignes et non pas que les données.

3 - Dans une BD tjrs classique, je souhaite supprimer toutes les lignes
comportant le mot "toto" dans la colonne Y

4 - J'ai fait une macro qui à entre autre pour but d'aller dans un
fichier


nommé "toto 01_2006.xls" le soucis c'est que maintenant il bug car le
fichier se nomme désormais "toto 02_2006.xls". Est t'il possible
d'inclure


dans ma macro une boite de dialogue lui demandant le nom du fichier
afin
que
ma macro fonctionne tjrs.

Je sais, j'ai du abuser. En tous cas merci d'avance aux bonnes ames.

Nico












Avatar
AV
Un pêu à la bourre mais...
Pour la question 3 (suppression si contient "toto")
Avec des données bien organisées, pas besoin de macro :
Filtre sur la plage Y:Y > Sélection de la plage moins les en-têtes > Edition >
Atteindre > Cellules > Cellules Visibles > Edition > Supprimer la ligne

AV
1 2