begin process at 2012 02 13 08:20:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

Macro sub VBA


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Macro sub VBA

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


1 2 3

Cette discussion est classée 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. 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 [VBA Excel] taches en parallèle [ par outofbusiness ] bonjour !J'ai 2 colonnes que je parcours. pour chaque cellule de la première colonne, je parcours toute la colonne suivante pour voir si la valeur de Valeur d'une cellule d'une feuille excel [ par mimi_939 ] Bonjour,j'ai une question dont la réponse est probablement très simple mais comme je suis débutante en vba, ça ne me saute pas aux yeux.Je suis en tra Excel, positionnement d'un tableau [ par XGuarden ] Bonjour,je programme en vb.net et je suis présentement en trein de chercher un moyen afin de pouvoir localiser un tableau dans une feuille Excel. J'ex Cellule active dans Excel [ par cppdans ] Bonjour,Je sèche sur quelque chose de pourtant d'apparence très simple...J'ai 2 feuilles dans un classeur, disons A et B. L'une des cellule de chaque EXCEL supprimer doublons [ par iznogoud47 ] salut à tous je suis à la recherche d'une fonctino ou d'une macro sur excel 2003 pour supprimer des lignes doublons sur colonne a feuille 1 et 2en gro excel [ par luc81 ] Sur Excel , dans une cellule de la feuille 1  est écrit Durand, comment fait on pour que ce Durand s'écrive automatiquement dans une cellule de la feu textbox = cellule excel ? [ par coquelicot2 ] Bonjour !Voila, j'ai une feuille excel nommé "En_stock" , une textbox nommé "resteenstock" et aussi une textbox nommé "PRODUIT".Je voudrais que qd PRO Valeur d'une cellule Excel [ par billoute 50 ] Bonjour dans mon programme je cherche quel cellule posséde la valeur A afin d'insérer une ligne.Mon programme:i = 1Do   i = i + 1Loop Until feuille.ra


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,636 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales