Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2718 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macro excel en vb :'(

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Macro excel en vb :'(

n°1035293
MATAMATA
Posté le 05-04-2005 à 09:15:38  profilanswer
 

Bonjour,  
 
je dispose d'un fichier resultats comme ceci :
 

Citation :

Résultats:...........................Entité A:  
Intitulé........................Code............26013  
ni WC ni salle d'eau .........C291...........2  
ni WC ni salle d'eau avant ...C290..........14  
ni WC ni salle d'eau ens......C289..........18


 
 
je souhaite dans un nouvel onglet copier ces resultats de la facon qui suit :
 

Citation :

Intitulé......ni WC ni salle d'eau .......ni WC ni salle d'eau avant 1915
Code ...............C291............................... C290  
26013 .................0................................. 2  
26016 .................0................................. 1  
26082 .................0......................................1


 
Avec si c'est le même code une somme pour les deux code par intitulé...
 
 
Ca fais un bout de temps que je planche la dessus, mais mes talents en programmation objet et en programmation tout cour sont mediocre alors ... a l'aide .... :fou:  
 
 
Si quelqu'un pouvez me donner un petit coup de pouce ca serait super sympas, merci d'avance MATA...
 
 
 
nb j'ai realiser un programme dans le styke ...mais ca marche po des masse  :??:  
 

Private Sub CommandButton1_Click()
Dim I As Integer
Dim X As Integer
Dim K As Integer
Dim XI As Integer
Dim XJ As Integer
 
 
 
Sheets("Resultats avec extraction" ).Select
 
XI = 1
 
While Sheets("Resultats" ).Cells(1, XI) <> ""
    While Sheets("Resultats" ).Cells(XJ, 2) <> ""
 
                     
                    Sheets("Resultats avec extraction" ).Cells(XI, XJ) = Sheets("Resultats" ).Cells(XJ, XI)
                     
                                         
                    I = 4
                     
                    X = Sheets("Resultats avec extraction" ).Cells(3, 2)
                     
                    While Sheets("Resultats avec extraction" ).Cells(2, I) <> ""
                     
                         
                         
                        If Sheets("Resultats avec extraction" ).Cells(2, I) = X Then
                            While Sheets("Resultats avec extraction" ).Cells(K, I) <> ""
                             
                            Sheets("Resultats avec extraction" ).Cells(K, I) = Sheets("Resultats avec extraction" ).Cells(K, I) + Sheets("Resultats avec extraction" ).Cells(K, I - 1)
                            K = K + 1
                             
                            Wend
                        End If
                     
                    Wend
     
    Wend
Wen
 
End Sub

 
 
 
 
nb² : je sais que c'est faux :D, pour infos ma feuille que je copie ... c'est resultat, et la feuille ou je colle ce que je souhaite, c'est resultat après extraction  :hello:  aidez moi plz  :jap:  :jap:  
 
 
 
 
 
 
 
 
 

mood
Publicité
Posté le 05-04-2005 à 09:15:38  profilanswer
 

n°1035318
MATAMATA
Posté le 05-04-2005 à 09:47:57  profilanswer
 

personne n'a une petite idee ? ... tien il manque deja un d a mon Wend ....huhuhu  :wahoo:

n°1035364
AlainTech
Pas trouvé? Cherche encore!
Posté le 05-04-2005 à 10:24:30  profilanswer
 

Tableau croisé dynamique?...


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
n°1035375
MATAMATA
Posté le 05-04-2005 à 10:28:34  profilanswer
 

Non c'est juste ecrire le tableau dans l'autre sens, avec des sommes justes pour certaine lignes ....
 
Sinon je n'arrive même pas a faire une simple affectation du style :
 
Sheets("extraction " ).Cells(1, 1) = Sheets("Resultats " ).Cells(2, 1)
 
ca me met indice en deors de la plage :??:

n°1035437
MATAMATA
Posté le 05-04-2005 à 10:59:23  profilanswer
 

j'essaye de modifier mon programe, la j'ai essayer ca ... mais ca marche pas non plus ... je m'embrouille un poil, un coup de main serait le bien venu :gratgrat: :D
 

Const CMAX_XI = 256
Const CMAX_XJ = 256
Private Sub CommandButton1_Click()
 
Dim I As Integer
Dim X As Integer
Dim J As Integer
Dim XI As Long
Dim XJ As Long
 
 
Sheets("extraction" ).Select
     
 
XI = 1
XJ = 2
 
Cells(1, 1) = Sheets("Resultats " ).Cells(2, 1)
Cells(2, 1) = Sheets("Resultats " ).Cells(2, 2)
 
 
 
For I = 2 To Range("B65536" ).End(xlUp).Row
    For J = 2 To Range("B65536" ).End(xlUp).Row
                     
        Cells(1, I) = Sheets("Resultats " ).Cells(I + 1, 1)
         
        Cells(I, J) = Sheets("Resultats " ).Cells(I + 1, J + 1)
     
     
    Next J
Next I
 
End Sub

n°1035453
MATAMATA
Posté le 05-04-2005 à 11:13:05  profilanswer
 

bon ... deja ca m'ecris les données dans la mauvaise feuille :x

n°1035489
MATAMATA
Posté le 05-04-2005 à 11:40:56  profilanswer
 

Bon ... grace a ce programme, j'arrive a ecrire comme je veux, mais le pb est de faire la somme si le code est pareille now :)
 

Private Sub CommandButton1_Click()
 
Dim I As Integer
Dim X As Integer
Dim J As Integer
Dim XI As Long
Dim XJ As Long
 
 
Sheets("extraction" ).Select
     
 
XI = 1
XJ = 2
 
 
For I = 1 To Range("B65536" ).End(xlUp).Row
    For J = 1 To Range("B65536" ).End(xlUp).Row
     
        Sheets("extraction" ).Cells(I, J) = Sheets("Resultats " ).Cells(J + 1, I)
        Sheets("extraction" ).Cells(I, J) = Sheets("Resultats " ).Cells(J + 1, I)
         
    Next J
         
Next I
 
 
 
 
End Sub

n°1035605
MATAMATA
Posté le 05-04-2005 à 12:56:38  profilanswer
 

:) hahaha, j'ai fais ca ... ca a l'air de marcher .... quelqu'un connaitrais t'il les instruction, pour :
 
1 : effacer les cellules d'une feuille avant de la remplir
2 : creer un nouvelle feuille pour chaque variable que je variable que je v

n°1035609
MATAMATA
Posté le 05-04-2005 à 12:58:05  profilanswer
 

:) hahaha, j'ai fais ca ... ca a l'air de marcher .... quelqu'un connaitrais t'il les instruction, pour :
 
1 : effacer les cellules d'une feuille avant de la remplir
2 : creer un nouvelle feuille pour chaque variable que je variable que je variable que je vais traiter avec comme nom le nom de la variable.
 

Private Sub CommandButton1_Click()
 
Dim I As Integer
Dim X As Integer
Dim J As Integer
Dim K As Integer
Dim XI As Long
Dim XJ As Long
 
 
Sheets("extraction" ).Select
     
     
     
 
XI = 2
XJ = 3
 
For I = 1 To Range("B65536" ).End(xlUp).Row
    For J = 1 To Range("B65536" ).End(xlUp).Row
     
        Sheets("extraction" ).Cells(I, J) = Sheets("Resultats " ).Cells(J + 1, I)
        Sheets("extraction" ).Cells(I, J) = Sheets("Resultats " ).Cells(J + 1, I)
       
    Next J
Next I
 
 
 
For I = 3 To Range("B65536" ).End(xlUp).Row
    For J = 3 To Range("B65536" ).End(xlUp).Row
     
        If Sheets("extraction" ).Cells(I, J) = Sheets("extraction" ).Cells(XI, XJ) Then
         
                For K = 3 To Range("B65536" ).End(xlUp).Row
                    Sheets("extraction" ).Cells(I, K) = Sheets("extraction" ).Cells(I, K) + Sheets("extraction" ).Cells(XI, XJ)
                Next K
                 
        End If
    Next J
Next I
 
 
 
 
 
 
 
End Sub


 
 
nb : desoler pour le double message mon doigt a ripper sur la touche tab par deux fois :s

n°1035621
MATAMATA
Posté le 05-04-2005 à 13:08:21  profilanswer
 


Pour effacer les cellules avant de remplir la feuille ^^, j'adore auto-repondre a mes questions ......
 
Sheets("extraction" ).Select
Sheets("extraction" ).Cells.Select
Selection.ClearContents

mood
Publicité
Posté le 05-04-2005 à 13:08:21  profilanswer
 

n°1035932
MATAMATA
Posté le 05-04-2005 à 15:27:35  profilanswer
 

mon programme marche tjs po :'(

n°1036720
MATAMATA
Posté le 06-04-2005 à 08:35:51  profilanswer
 

Rhhhaaaa, le must ca serait d'arriver a faire une version simplifier du tableau dynamique d'excel pour l'utilisateur,avec possibilité de modifier les calaculs effectué ... personne sais ou recuperer le programme du tableau dynamique d'excel ?

n°1036755
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 06-04-2005 à 08:55:58  profilanswer
 

MATAMATA a écrit :

:) hahaha, j'ai fais ca ... ca a l'air de marcher .... quelqu'un connaitrais t'il les instruction, pour :
 
1 : effacer les cellules d'une feuille avant de la remplir
2 : creer un nouvelle feuille pour chaque variable que je v


 

MATAMATA a écrit :

:) hahaha, j'ai fais ca ... ca a l'air de marcher .... quelqu'un connaitrais t'il les instruction, pour :
 
1 : effacer les cellules d'une feuille avant de la remplir
2 : creer un nouvelle feuille pour chaque variable que je variable que je v


 
rassure moi, tu sais te servir du forum j'espère ? tu es au courant qu'on peut éditer un message pour le compléter au lieu d'en rajouter un autre ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°1036791
MATAMATA
Posté le 06-04-2005 à 09:35:49  profilanswer
 

Oui je sais me servir d'un forum.
 

Citation :

nb : desoler pour le double message mon doigt a ripper sur la touche tab par deux fois :s


 
lis tout au lieux de me casser, merci, de plus mes deux posts ne  pose pas la même questions ... l'un et pour appeler l'assistants tableau croisée dynamique via une macro, l'autre et pour creer une macros faisant sensiblement la même chose qu'un tableau croisé a la différence près, que cette macros pourras faire nimporte quel calcul sur les données traités.
 
Après il est vrai que je n'ai qu'a attendre l'éventuel répose de quelqu'un mais bon comme tu vois, je m'occupe puisque j'essaye de resoudre ce problème. ;)
 
 
edit : seule les modos come toi peuvent supprimer leur propre messages , ou les messages inutiles pas les simples utilisateurs ! huhuhu
 
D'ailleur si tu pouvais rouvrir l'autre post, puisque ce n'est pas le même je t'en serais très reconnaissant :jap:


Message édité par MATAMATA le 06-04-2005 à 09:42:48
n°1036818
Moktar1er
No one replies...
Posté le 06-04-2005 à 10:03:20  profilanswer
 

MATAMATA a écrit :

Oui je sais me servir d'un forum.
[...]
edit : seule les modos come toi peuvent supprimer leur propre messages
[...]


en es-tu vraiment certain... [:mlc]

n°1036867
MATAMATA
Posté le 06-04-2005 à 10:29:24  profilanswer
 

Ben essaye de supprimer ton message !

n°1036883
Moktar1er
No one replies...
Posté le 06-04-2005 à 10:35:48  profilanswer
 

MATAMATA a écrit :

Ben essaye de supprimer ton message !


D'abord, tu cliquettes sur la somptueuse icone "éditer le message".
Ensuite tu découvriras en dessous de la zone d'édition une magnifique case à cocher portant la superbe inscription "Effacer ce message", te permettant ainsi d'enlever, de supprimer, de déléter, d'annihiler tout propos que tu auras posté au préalable, car, hein, soyons intelligents des fois, on ne peut évidement que supprimer ce qui existe déjà. [:itm]

n°1036885
Moktar1er
No one replies...
Posté le 06-04-2005 à 10:37:08  profilanswer
 

Ah oui, j'oubliai: boulet! [:kiki]

n°1036912
MATAMATA
Posté le 06-04-2005 à 10:48:03  profilanswer
 

LOOOOOOOL, bah je viens d'apprendre un truc non disponible sur les forum ( de boulets alors ) que je fréquente, cependant bien que ce soir je serais moin con d'une astuces de forum, je suis toujours bloquer avec ma magnifique macro excel ^^
 
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macro excel en vb :'(

 

Sujets relatifs
mini macro vba sur excel pour total newbieComment récuperer des infos utilisateurs avec une macro sous Excel ?
VB - Ouvrir Word d'Excel par macroExcel : Macro pour récupération de l'adresse de carte réseau
Excel : Macro pour création classeur protégé[VB] Macro complémentaire sous Excel
Faire une macro sur excel pour transformer Fichier Wordexcel aide macro pr comparer des lignes
Aidez-moi Macro Excel comparer 2 colonnes[EXCEL] Macro pour importer des donnees
Plus de sujets relatifs à : Macro excel en vb :'(


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR