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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  programmation avec VBA

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

programmation avec VBA

n°1450738
chello3
Posté le 02-10-2006 à 13:22:32  profilanswer
 

Salut, je suis sur un projet qui comporte plusieurs colonnes, dans la premiere on trouve le nom des agents, la seconde comporte une date.
Je souhaite que mon programme trouve toutes les lignes qui comportent le même nom d'agent et la même date en face du nom. (il peut y avoir deux noms identique mais pas la même date).
Si c'est pas claire faire signe.....

mood
Publicité
Posté le 02-10-2006 à 13:22:32  profilanswer
 

n°1450773
seniorpapo​u
Posté le 02-10-2006 à 14:08:01  profilanswer
 

Bonjour,
Plusieurs colonnes  Excel?
ou plusieurs champs Access?
 
Cordialement

n°1450953
chello3
Posté le 02-10-2006 à 17:44:44  profilanswer
 

oh pardon j'ai oublié de préciser c'est sous excel!

n°1450974
eric455
Posté le 02-10-2006 à 18:07:03  profilanswer
 

Bonjour
 
Tu veux faire quoi avec :
compter les lignes par agents, reporter une autre cellule, supprimer les doubles ???????
 
A+


---------------
Eric
n°1451067
chello3
Posté le 02-10-2006 à 20:29:59  profilanswer
 

bon j'texplique je veux:
-le m^me prénom avec la même date  
-additionner les heures et les km (2 autres colones)
-transférer le résultat dans une autre feuille (mais ça je sais faire)
en bref:
Agent-date-heures-km

n°1452051
chello3
Posté le 04-10-2006 à 12:28:10  profilanswer
 

y a vraiment personne qui sait faire ca?

n°1452133
seniorpapo​u
Posté le 04-10-2006 à 14:50:50  profilanswer
 

Bonjour,
peux-tu rajouter une colonne?
si oui ajouter une colonne comportant la formule:
 
=colnom & format(coldate,"aaaa/mm/jj" )
 
colnom désignant la colonne nom et coldate....
trier sur cette colonne
 
données -> sous-totaux (basée sur changement de la colonne avec la formule)
si tu ne veux pas changer l'apparence de ta feuille fais une autre feuille et travailles dedans. Si tu veux absolument une macro fais nous signe mais cela devrait déjà te donner un aperçu
Cordialement


Message édité par seniorpapou le 04-10-2006 à 14:51:59
n°1452325
eric455
Posté le 04-10-2006 à 17:13:47  profilanswer
 

Bonjour à tous, et à toi chello3
 
Je te peux te faire parvenir un fichier, mais comment ?  
 
A+
 
Cordialement


---------------
Eric
n°1452329
seniorpapo​u
Posté le 04-10-2006 à 17:17:47  profilanswer
 

bonsoir eric455
si le fichier est petit tu peux essayer par cijoint.com
cordialement

n°1452465
eric455
Posté le 04-10-2006 à 21:35:24  profilanswer
 

Bonsoir tout le monde
 
Je ne suis vraiment pas fortiche en informatique, je n'arrive pas à déposer un fivhier sur cijoint.com.
 
Mais nous allons nous débrouiller.
 
Voici du code, mais je pense que l'on peut mieux faire :
 
Sub test01()
Dim tablo(100, 4)
Range("a1" ).Select
 
For i = 1 To 1000
    If ActiveCell.Offset(i, 0).Value <> "" Then
        For a = 0 To 1000
            If tablo(a, 0) = "" Then
                tablo(a, 0) = ActiveCell.Offset(i, 0).Value
                tablo(a, 1) = ActiveCell.Offset(i, 1).Value
                tablo(a, 2) = ActiveCell.Offset(i, 2).Value
                tablo(a, 3) = ActiveCell.Offset(i, 3).Value
                Exit For
            ElseIf tablo(a, 0) = ActiveCell.Offset(i, 0).Value Then
                If tablo(a, 1) = ActiveCell.Offset(i, 1).Value Then
                    tablo(a, 2) = tablo(a, 2) + ActiveCell.Offset(i, 2).Value
                    tablo(a, 3) = tablo(a, 3) + ActiveCell.Offset(i, 3).Value
                    Exit For
                End If
             
            End If
        Next a
    Else
        Exit For
    End If
     
Next i
 
b = 1
    For a = 0 To 100
        If tablo(a, 0) = "" Then
            Exit For
        Else
            ActiveCell.Offset(b, 7).Value = tablo(a, 0)
            ActiveCell.Offset(b, 8).Value = tablo(a, 1)
            ActiveCell.Offset(b, 9).Value = tablo(a, 2)
            ActiveCell.Offset(b, 10).Value = tablo(a, 3)
        b = b + 1
        End If
    Next a
 
End Sub
 
Il faut considérer que l'on crée un bouton sur la feuille 1 avec ce code derrière, puis  
 
Dans la cellule A2 un nom
Dans B2 un prénom
Dans C2 et D2 un  nombre
Et il faut continuer sur les lignes suivantes du type :  
 
alain deu   1 6
alain troi     2   7
alain quetre   3 8
alain deu   4 9
alain troi     1  8
alain quetre  1 6
alain troi    1  5
alain quetre  1 2
 
et normalement le résultat se trouve dans H2, I2, J2 et K2
puis dans les lignes suivantes
 
J'espère que tu comprendras, n'hesite pas si tu as des pb
 
A+
 
Cordialement


---------------
Eric
mood
Publicité
Posté le 04-10-2006 à 21:35:24  profilanswer
 

n°1452733
eric455
Posté le 05-10-2006 à 13:12:24  profilanswer
 

Re bonjour à tous
 
J'ai trouvé pour joindre le fichier :
 
 http://cjoint.com/?kfnlAc2nuu
 
Cordialement


---------------
Eric
n°1456613
eric455
Posté le 13-10-2006 à 11:35:38  profilanswer
 

Bonjour à tous
Bonjour Chello3
 
Que pense tu de ce que je t'ai envoyé ?


---------------
Eric
n°1457316
Fanny999
Posté le 14-10-2006 à 22:42:26  profilanswer
 

Du code VBA est-il bien nécessaire là ou un tableau croisé dynamique résoudrait la question en quelques clics faciles et rapides ?


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

  programmation avec VBA

 

Sujets relatifs
[ACCESS] Gestion erreur doublon VBAWORD - VBA - Police de caractére
VBA : actualisation tableau croisé dynamique[ACCESS] + [VBA] selectionner toutes les lignes
WORD - VBA - Sous macroProgrammation VBA combobox
Programmation VBAProgrammation VBA
Programmation VBA, débutant en grosse difficulté !Conseils programmation VBA - Comment résoudre mon problème !
Plus de sujets relatifs à : programmation avec VBA


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