Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA qu'est-ce qui cloche dans mon code

  • Initiateur de la discussion Initiateur de la discussion Arpette
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Arpette

XLDnaute Impliqué
ReBonsoir à tous, je n'arrive pas à trouver qu'est-ce qu'il ne va pas dans mon code:
Voilà je veux concaténer en colonne B, les valeurs des cellules A avec maVleur que je trouve en M. Je ne sais pas si on peut employer 2 fois derligne.

Merci pour votre aide.

Code:
derligne = Range("A65536").End(xlUp).Row
For i = 2 To derligne
derligne = Range("M65536").End(xlUp).Row
    For j = 2 To derligne
    maValeur = Format(Range("M" & i).Value, "000")
    Cells(i, 2).Value = Cells(i, 1).Value & "-" & maValeur.Value
    Next j
Next i
 
Re : VBA qu'est-ce qui cloche dans mon code

Bonsoir,

Je suis navré, mais je peine à comprendre ce que tu demandes. T'est-il possible de me mettre ds un fichier joint un exemple de tes 2 feuilles avec ce que tu souhaiterais avoir comme résultat ?
 
Re : VBA qu'est-ce qui cloche dans mon code

Bonsoir,

Je suis navré, mais je peine à comprendre ce que tu demandes. T'est-il possible de me mettre ds un fichier joint un exemple de tes 2 feuilles avec ce que tu souhaiterais avoir comme résultat ?
Bonjour Softmama, voici un fichier qui représente mon souhait. Dans la feuille 5-9-12, j'ai des valeurs sur colonne B ( elles sont uniques). Sur la Feuille 5-17, je retrouve ou pas ces valeurs. Le problème c'est que dans cette feuille je peux les avoir plusieurs fois. Dans ce cas je souhaite renvoyer la somme de K13 et K15 dans la cellule F8 de la feuille 5-9-12 et si la valeur n'est pas trouvée on renvoi 0. En jaune un cas bien concret. J'essaie de faire une boucle avec une rechercheV. Tant que la valeur est trouvée je cumule, quand la recherche est terminée je pose le résultat et je passe à la valeur suivante. Facile à dire, mais pas facile à écrire.
Merci de ton aide.
 

Pièces jointes

Re : VBA qu'est-ce qui cloche dans mon code


Bonsoir Softmama, j'ai avancé sur le code, je passe bien revue toutes les valeurs, le problème est qu'il faut les stocker dans une variable et les additionner quand la boucle est terminée. Ci-joint le fichier, je continue à chercher.
@+
 

Pièces jointes

Re : VBA qu'est-ce qui cloche dans mon code

Bonjour Arpette,

comme promis, le code que tu attendais. Tu n'étais pas loin de la solution. J'ai préféré utiliser un .find au lieu de boucler sur toutes les cellules de la 2ème feuille : tu gagneras beaucoup de temps si tu traites bcp de cellules.

cf. fichier joint.

VB:
Sub testV2()
Dim Départ As String
Dim c As Range
Dim d As Range
Dim Somme&
For Each c In Worksheets("5-9-12").Range("B2:B" & Worksheets("5-9-12").Range("B65536").End(xlUp).Row)
Somme& = 0
With Worksheets("5-17").Range("F2:F" & Worksheets("5-17").Range("F65536").End(xlUp).Row)
    Set d = .Find(c)
        If Not d Is Nothing Then
            Départ = d.Address
            Do
                Somme& = d(1, 6) + Somme&
                Set d = .FindNext(d)
        Loop While Not d Is Nothing And d.Address <> Départ
        End If
End With
c(1, 5) = Somme&
Next
End Sub
 
Dernière édition:
Re : VBA qu'est-ce qui cloche dans mon code


Bonsoir Softmama, merci pour ton code c'est nickel. Le problème maintenant, c'est que la personne ne veut plus avoir la somme, mais à chaque valeur trouvées l'afficher, car si plusieurs valeurs il faudra mettre la date. Donc il faudrait qu'à chaque fois que l'on trouve une valeur on insère une ligne. Pierrejean, m'avait fais quelque chose qui fonctionnait bien mais je devais insérer une page, je ne sais pas si c'est possible.
Merci de ton aide.
@+
 
Re : VBA qu'est-ce qui cloche dans mon code

Bonsoir,

Voici les modifs ici :

VB:
Sub testV2()
Dim Départ As String
Dim c As Range
Dim d As Range
Dim Somme&
Set c = Worksheets("5-9-12").Range("B" & Worksheets("5-9-12").Range("B65536").End(xlUp).Row)
Do While c.Row > 1
Somme& = 0
With Worksheets("5-17").Range("F2:F" & Worksheets("5-17").Range("F65536").End(xlUp).Row)
    Set d = .Find(c)
        If Not d Is Nothing Then
            Départ = d.Address
            Do
                Somme& = d(1, 6) + Somme&
                c(2, 1).EntireRow.Insert
                c(2, 1) = d(1, 2)
                c(2, 2) = d(1, 5)
                c(2, 5) = d(1, 6)
                Set d = .FindNext(d)
        Loop While Not d Is Nothing And d.Address <> Départ
        End If
End With
c(1, 5) = Somme&
Set c = c(0, 1)
Loop
End Sub

Je ne sais pas si tu veux les données ainsi, détaille mieux ta demande pour savoir ce que tu veux que je conserve dans les lignes rajoutées.
 
Dernière édition:
Re : VBA qu'est-ce qui cloche dans mon code


Bonsoir, je n'avais même pas pensé à çà, c'est vraiement génial.
Merci beaucoup et à bientôt.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
15
Affichages
776
Réponses
5
Affichages
907
Réponses
4
Affichages
729
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
902
Réponses
8
Affichages
390
Réponses
10
Affichages
661
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…