|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Macro sub VBA [ Langages dérivés / VBA ] (azg0rth)
Informations & options pour cette discussion
jeudi 10 avril 2008 à 10:21:15 |
Macro sub VBA

azg0rth
|
Bonjour a tous!! Je suis nouveau sur le site et ce serait vraiment super si qqun pouvait m'aider :) Je dispose d'un tableau excel très mal fait...et j'ai plusieurs choses à faire dessus Tout d'abord, je dois selectionner dans la première colonne l'ensemble des cellules ayant le format *00000 (une etoile suivie de 5chiffres) ou le format 000000 (6 chiffres) puis copier cette cellule ainsi que la cellule juste en dessous (contenant des lettres et parfois des chiffres) dans une nouvelle feuille excel ou nouveau fichier excel appelé BLABLA pour l'occasion, et cela sur une meme ligne mais 2 colonnes distinctes en supprimant les espaces entre :) c'est à dire: (Feuille excel 1) (Colonne1) *00000 text1 <vide> <vide> <vide> *00008 text2 <vide> <vide> <vide> 000245 text3 (Feuille excel 2) (Colonne1) (Colonne2) Devient-----------------------------> *00000 text1 *00008 text2 *000245 text3 Après ça, il faut reprendre le nombre qui se situe sur la meme ligne que la cellule *00000 ou 000000 mais dans la colonne 3 (la colonne "C"), le copier et le coller dans la colonne 9 de la feuille 2 (colonne "I"). Le problème est qu'encore une fois, il s'agit un nombre précédé d'une étoile et 4 espaces (du style * 245) et qu'il ne faut reprendre que le nombre (bref supprimer l'étoile) Illustration: (Feuille excel 1) (Colonne1) (Colonne 2) (Colonne3) *00000 * 665 text1 <vide> <vide> <vide> *00008 * 5488 text2 <vide> <vide> <vide> 000245 * 448 text3 (Feuille excel 2) (Colonne1) (Colonne2) (...) (Colonne 9) Devient-----------------------------> *00000 text1 665 *00008 text2 5488 *000245 text3 448 c'est pas fini lol ... mais si quelqu'un pouvait déja m'aider pour ca ce serait super!!! merci!
|
|
|
jeudi 10 avril 2008 à 10:25:07 |
Re : Macro sub VBA

azg0rth
|
oulala je remarque que ma mise en page des colonnes a été estropiée dans le message... Voici la derniere illustration,un peu plus au clair:
(Feuille excel 2) (Colonne1) (Colonne2) (...) (Colonne9) Devient---------------> *00000 text1 665 *00008 text2 5488 *000245 text3 448
thx!
|
|
|
jeudi 10 avril 2008 à 11:07:48 |
Re : Macro sub VBA

Firelion
|
Bonjour,
Voici ce que je te propose :
Sub ParcoursFeuille() Feuil1.Select i = 1 j = 1 While Cells(i, 1) <> "FIN" Feuil1.Select If Cells(i, 1).Value Like "*[0-9][0-9][0-9][0-9][0-9]" Or Cells(i, 1).Value Like "[0-9][0-9][0-9][0-9][0-9][0-9]" Then Variable1 = Cells(i, 1).Value Variable2 = Cells(i + 1, 1).Value Variable3 = Cells(i, 3).Value 'MsgBox (Cells(i, 1).Value) 'MsgBox (Cells(i + 1, 1).Value) 'MsgBox (Cells(i, 3).Value) Feuil2.Select Cells(j, 1) = Variable1 Cells(j, 2) = Variable2 Cells(j, 9) = Variable3 j = j + 1 End If i = i + 1 Wend End Sub
Copie cette fonction dans un module VBA, Ajoute le mot FIN dans la première colonne de ta première page à la suite de tes données. Dis moi ensuite si jamais il y a un problème.
|
|
|
jeudi 10 avril 2008 à 12:23:02 |
Re : Macro sub VBA

azg0rth
|
Pour l'instant, j'ai le message "run-time error '424'" Sinon merci pour la fonction "like (format cellule)", elle ne faisait pas partie de mes faibles connaissances! Je dois la réutiliser pour faire le meme genre de macro par apres mais avec des dates, je suppose que la formule sera:
If Cells(i, 3).Value Like "[0-9][0-9]/[0-9][0-9]/03" Then ... //copier valeur de la somme des cellules de la Feuil1 (i,4) + (i,5) + (i,6) + (i,7) + (i,8) + (i,9) dans la cellule (j,4) de la Feuil2// elseif Cells(i, 3).Value Like "[0-9][0-9]/[0-9][0-9]/04" Then...//copier valeur de la somme des cellules de la Feuil1 (i,4) + (i,5) + (i,6) + (i,7) + (i,8) + (i,9) dans la cellule (j,5) de la Feuil2// elseif Cells(i, 3).Value Like "[0-9][0-9]/[0-9][0-9]/05" Then...//copier valeur de la somme des cellules de la Feuil1 (i,4) + (i,5) + (i,6) + (i,7) + (i,8) + (i,9) dans la cellule (j,6) de la Feuil2// elseif Cells(i, 3).Value Like "[0-9][0-9]/[0-9][0-9]/06" Then...//copier valeur de la somme des cellules de la Feuil1 (i,4) + (i,5) + (i,6) + (i,7) + (i,8) + (i,9) dans la cellule (j,7) de la Feuil2// elseif Cells(i, 3).Value Like "[0-9][0-9]/[0-9][0-9]/07" Then...//copier valeur de la somme des cellules de la Feuil1 (i,4) + (i,5) + (i,6) + (i,7) + (i,8) + (i,9) dans la cellule (j,8) de la Feuil2// elseif Cells(i, 3).Value Like "[0-9][0-9]/[0-9][0-9]/08" Then...//copier valeur de la somme des cellules de la Feuil1 (i,4) + (i,5) + (i,6) + (i,7) + (i,8) + (i,9) dans la cellule (j,9) de la Feuil2// Endif
thx!
|
|
|
jeudi 10 avril 2008 à 12:33:12 |
Re : Macro sub VBA

azg0rth
|
Ha oui, j'ai décalé les colonnes d'un rang :/... en réalité, toutes les cellules (j, x) devraient être (j, x-1) dans la macro suivante
Sinon, j'ai bien adapté les paramètres de la macro que tu m'a proposé à mes paramètres, j'ai bien rajouté FIN à la suite des données de la 1° colonne, mais je retombe toujours sur le même run-time error Tu aurais une idée d'ou ca peut provenir?
|
|
|
jeudi 10 avril 2008 à 12:39:40 |
Re : Macro sub VBA

Firelion
|
Re, Quelle ligne du code est surlignée quand tu fais débogage?
|
|
|
jeudi 10 avril 2008 à 13:39:24 |
Re : Macro sub VBA

azg0rth
|
Re Re Aucune ligne n'est surlignée, c'est ca le problème. :(
|
|
|
jeudi 10 avril 2008 à 13:44:51 |
Re : Macro sub VBA

Firelion
|
Si tu exécutes ça est ce que ça fonctionne?
Sub ParcoursFeuille() Feuil1.Select i = 1 j = 1 While Cells(i, 1) <> "FIN" Feuil1.Select i = i + 1 Wend
|
|
|
jeudi 10 avril 2008 à 13:45:30 |
Re : Macro sub VBA

Firelion
|
Excuse moi j'ai oublié le End Sub à la fin
|
|
|
jeudi 10 avril 2008 à 13:50:25 |
Re : Macro sub VBA

azg0rth
|
Ca me renvoit le même message d'erreur
|
|
|
Cette discussion est classé dans : excel, feuille, colonne, cellule, colonne1
Répondre à ce message
Sujets en rapport avec ce message
[VBA-Excel] Construction d'un arbre d'appels [ par FenX ]
Bonjour, Je me retrouve face à un petit problème, j'espère que vous saurez m'indiquer une direction.
Ecrire dans excel [ par detbour ]
BONJOURJe suis débutant en vba, j'ai un bout de code qui me permet d'ecrire dans excel dans une colonne.A chaque fois que je lance le programme je peu
Excel [ par moustike31 ]
Bonjour, Je travail actuellement sur Excel. j'ai une page menu qui doit me permettre d'accéder à la feuille excel qui m'intérresse (du même fichier).
EXCEL :Ouverture d'une feuille sur une cellule précise à partir du résultat d'une autre cellule [ par Hector66 ]
Bonjour à tousJ' ai un fichier XLS constitué de 2 feuille .Sur la feuille 1, un choix déroulant avec des references et une cellule avec une formule de
feuille excel et combobox [ par detbour ]
Bonjour bonne annee a tous.Je cherche a faire un petit programme avec une feuille excel et des boite de dialogues.Par exemple je veut faire un recapit
incrementation cellule sur excel [ par igor941 ]
bonjour,voici mon probleme je debbute dans la programmation en vba et j'essaie de me debrouiller pas mal avec les fiorum grace a vous (merci!!) donc m
VBA_Collage spécial d'une colonne "sous condition" sur une autre feuille excel [ par mouncefdi ]
salut le forum,Je suis un débutant en VBA, mais connaissances sont très limitées, ci-dessous je vous explique ce que je souhaite faire en espérant que
lien entre userForm et feuille excel [ par Maha79 ]
Bonjour à tous,Je suis débutante en VBA et j'ai besoin de vos conseils.J'ai un classeur excel qui contient plusieurs données réparties sur deux feuill
lien entre userForm et feuille du classeur excel [ par Maha79 ]
Bonj
Formule Excel [ par cheyenne ]
Bonjour à Tous,Je fais appel à votre sagacité pour résoudre le problème suivant car je n'arrive pas à trouver la formule adéquate.Dans un tableau de 4
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|