Augmenter 1/4 2/4 3/4

Fermé
viret1290 Messages postés 137 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 12 octobre 2022 - 22 avril 2015 à 20:34
 viret1290 - 23 avril 2015 à 15:33
j'ai reussi dans excel que si la ligne précédente à le même critère dans la colonne A ou D que ça les comptes et mette 1/le nombre d'exemplaire trouver
Maintenant j'aimerai que le premier chiffre corresponde ou 1 livre trouver le 2 au deuxième ainsi de suite.
Mon code est le suivant
Dim i As Integer
Dim nb As Byte
Dim calcul As Boolean
Dim longueur As Byte
Dim position As Byte
Dim a As String
Dim b As String

ActiveSheet.Unprotect (FGestion.Cells(16, 2))
FBaseLivre.Unprotect (FGestion.Cells(16, 2))


nb = 0
calcul = False

For i = 1 To 37 'On affiche tout les livres dans la base
FBaseLivre.ListObjects("Tableau3").Range.AutoFilter Field:=i
Next
For i = 2 To FBaseLivre.Cells(2, 1) + 1 'On parcour la base de donnée
' For i = 2 To FBaseLivre.Cells(1, 1) + 1 'On parcour la base de donnée
For j = 3 To FBaseLivre.Cells(2, 1) + 2 'On parcour la base de donnée
' For j = 3 To FBaseLivre.Cells(1, 1) + 2 'On parcour la base de donnée

If FBaseLivre.Cells(j, 3) = FBaseLivre.Cells(i, 3) And FBaseLivre.Cells(i, 2) = FBaseLivre.Cells(j, 2) Then 'Cote et titre
'On augmente le nombre de livre
longueur = Len(FBaseLivre.Cells(i, 36))
position = InStr(1, FBaseLivre.Cells(i, 36), "/") 'Recherche la position du "/"
a = Left(FBaseLivre.Cells(i, 36), position - 1)
b = Right(FBaseLivre.Cells(i, 36), longueur - position)
FBaseLivre.Cells(i, 36) = Right(Str(a), Len(Str(a)) - 1) + "/" + Right(Str(b + 1), Len(Str(b + 1)) - 1)
End If

Next
Next

merci de votre aide
A voir également:

2 réponses

via55 Messages postés 14406 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 28 avril 2024 2 703
22 avril 2015 à 20:44
Bonsoir

Pas très compréhensible sans le fichier de départ ! et pourquoi passer par une macro alors qu'une simple formule suffirait peut-être

Postes un exemple d eton fichier sur cjoint.com et reviens ici indiquer le lien fourni

Cdlmnt
Via
0
redaiwa Messages postés 351 Date d'inscription mardi 7 octobre 2008 Statut Membre Dernière intervention 25 janvier 2024 119
23 avril 2015 à 14:38
Salam viret1290.

Je crois avoir compris ta demande et je te propose le code suivant :

Private Sub CompterLivresIdentiques_Click()

Dim livres(100) ' tableau pour stocker les lignes où se trouvent les livres identiques trouvés

For l = 1 To 100
Range("E" & l + 1) = "" 'vider la colonne E
Next l

For lignelivre1 = 2 To Range("A1").End(xlDown).Row 'parcourir tous les livres

For l = 1 To 100
livres(l) = 0 'vider le tableau
Next l

If Range("E" & lignelivre1) = "" Then 'si la colonne E n'est pas vide alors passer au livre suivant
nblivres = 1
livres(nblivres) = lignelivre1

For lignelivre2 = lignelivre1 + 1 To Range("A1").End(xlDown).Row 'parcourir les livres suivants

If Range("A" & lignelivre1) = Range("A" & lignelivre2) And Range("D" & lignelivre1) = Range("D" & lignelivre2) Then ' s'il y a correspondance
nblivres = nblivres + 1
livres(nblivres) = lignelivre2 'stocker la ligne du livre trouvé dans le tableau
End If

Next lignelivre2

For l = 1 To 100 ' parcourir les lignes stockées dans le tableau "livres"
If livres(l) <> 0 Then Range("E" & livres(l)) = l & "/" & nblivres 'inscrire en colonne E le nombre de livres trouvés
Next l

End If

Next lignelivre1

End Sub

Voir fichier exemple : https://www.cjoint.com/c/EDxoXxPSrlD

J'espère t'avoir aidé. :)
0
Je te remercie,
ton code fonctionne c'est GÉNIALE
MERCI
Lionel
0