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.....