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

10 réponses

1 2
Avatar
Clément Marcotte
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
JpPradier
Bonsoir Nico

Pour la 3 - :

Sub SupprimeLigne()

While Err.Number = 0
On Error Resume Next
ligne = WorksheetFunction.Match("toto", Range("Y:Y"), 0)
Rows(ligne).Delete
Wend
On Error GoTo 0
End Sub


Pour la 4 - :

monFichier = Application.GetOpenFilename("Excel files,(*.xls)")

j-p
Avatar
JpPradier
Pas terrible la 3, corrige comme suit :

Sub SupprimeLigne()

While Err.Number = 0
On Error Resume Next
ligne = WorksheetFunction.Match("toto", Range("Y:Y"), 0)
If Err.Number=0 then Rows(ligne).Delete
Wend
On Error GoTo 0
End Sub



j-p
Avatar
Nico
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
Nico
Pour la 3 : C'est impec merci.
Je test la 4

Nico

"JpPradier" a écrit dans le message
de news:
Pas terrible la 3, corrige comme suit :

Sub SupprimeLigne()

While Err.Number = 0
On Error Resume Next
ligne = WorksheetFunction.Match("toto", Range("Y:Y"), 0)
If Err.Number=0 then Rows(ligne).Delete
Wend
On Error GoTo 0
End Sub



j-p


Avatar
anonymousA
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
Nico
Pour la 4,
Je ne comprend pas trop ou mettre cela, je suis novice en VBA et je ne
connais pas ce qu'est une variable, car je suppose que "monfichier" en est
une.
J'ai fais une macro dans un fichier nommé lulu.xls qui à pour but d'envoyer
des données dans le fichier "toto 01_2006.xls" mais maintenant le soucis est
que je souhaite l'envoyer dans un fichier "toto02_2006.xls" qui est
d'ailleurs ouvert lors du lancement de la macro. puis le mois prochain dans
"toto 03_2006.xls" ...etc.
C'est pour cela que je souhaite taper moi même le nom du fichier à utiliser
lors de la macro.

Merci encore pour la peine.

Nico


Pour la 4 - :

monFichier = Application.GetOpenFilename("Excel files,(*.xls)")

j-p


Avatar
Nico
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
anonymousA
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
JpPradier
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
1 2