programmation avec VBA - VB/VBA/VBS - Programmation
Marsh Posté le 02-10-2006 à 14:08:01
Bonjour, 
Plusieurs colonnes  Excel? 
ou plusieurs champs Access? 
 
Cordialement
Marsh Posté le 02-10-2006 à 18:07:03
Bonjour 
 
Tu veux faire quoi avec : 
compter les lignes par agents, reporter une autre cellule, supprimer les doubles ??????? 
 
A+
Marsh Posté le 02-10-2006 à 20:29:59
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
Marsh Posté le 04-10-2006 à 14:50:50
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
Marsh Posté le 04-10-2006 à 17:13:47
Bonjour à tous, et à toi chello3 
 
Je te peux te faire parvenir un fichier, mais comment ?  
 
A+ 
 
Cordialement
Marsh Posté le 04-10-2006 à 17:17:47
bonsoir eric455 
si le fichier est petit tu peux essayer par cijoint.com 
cordialement 
Marsh Posté le 04-10-2006 à 21:35:24
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 
Marsh Posté le 05-10-2006 à 13:12:24
Re bonjour à tous 
 
J'ai trouvé pour joindre le fichier : 
 
 http://cjoint.com/?kfnlAc2nuu 
 
Cordialement
Marsh Posté le 13-10-2006 à 11:35:38
Bonjour à tous 
Bonjour Chello3 
 
Que pense tu de ce que je t'ai envoyé ? 
Marsh Posté le 14-10-2006 à 22:42:26
Du code VBA est-il bien nécessaire là ou un tableau croisé dynamique résoudrait la question en quelques clics faciles et rapides ?
Marsh Posté le 02-10-2006 à 13:22:32
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.....