VBA Transfert deux opérations sur une même ligne

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 !

deudecos

XLDnaute Impliqué
Bonjour à toutes et à tous.

Pourriez-vous m'expliquer comment je dois procéder pour aller chercher une info sur une feuille pour ensuite la copier sur une autre feuille alors que la ligne destinataire contient déjà des infos...
Je sais, vous n'avez pas compris un traitre mot de ce que je viens de dire... C'est pourquoi je vous joints un exemple de ce que je souhaite en espérant que ça vous parle un peu plus.

Merci.

J'ai oublié un détail, dans le code du fichier joint, j'ai fait un premier transfert des recettes, et tenté de faire le transfert des dépenses, or c'est à ce moment précis que je plante... A savoir que j'arrive à transférer une première ligne mais pas la seconde puisqu'à la place c'est encore la première qui se duplique.
 

Pièces jointes

Dernière édition:
Re : VBA Transfert deux opérations sur une même ligne

Bonjour

le code de Private Sub CommandButton1_Click() de UserForm1 modifié:

Code:
Private Sub CommandButton1_Click()

 Dim WTab As Worksheet, WList As Worksheet, Flag As Boolean
 Set WTab = Worksheets("Tab")
 Set WList = Sheets("Liste")

 WTab.Range("A10:AG80").ClearContents
 Flag = False
 Dim L As Integer, i As Integer, J As Integer
 L = WList.Range("A65000").End(xlUp).Row
    For i = 2 To L
        
        If WList.Range("F" & i) = "R" Then
            For J = 10 To WTab.Range("A80").End(xlUp).Row
                If WTab.Range("A" & J) = WList.Range("A" & i).Value Then
                    If WTab.Range("B" & J) = "" Then
                        WTab.Range("B" & J) = WList.Range("C" & i).Value
                        WTab.Range("C" & J) = CDbl(WList.Range("E" & i).Value)
                        Flag = True
                        Exit For
                    End If
                End If
            Next
            If Not Flag Then
                M = WTab.Range("A80").End(xlUp).Row + 1
                WTab.Range("A" & M) = WList.Range("A" & i).Value
                WTab.Range("B" & M) = WList.Range("C" & i).Value
                WTab.Range("C" & M) = CDbl(WList.Range("E" & i).Value)
            End If
        End If
        Flag = False
        
        If WList.Range("F" & i) = "D" Then
            For J = 10 To WTab.Range("A80").End(xlUp).Row
                If WTab.Range("A" & J) = WList.Range("A" & i).Value Then
                    If WTab.Range("AD" & J) = "" Then
                        WTab.Range("AD" & J) = WList.Range("B" & i).Value
                        WTab.Range("AE" & J) = CDbl(WList.Range("E" & i).Value)
                        Flag = True
                        Exit For
                    End If
                End If
            Next
            If Not Flag Then
                M = WTab.Range("A80").End(xlUp).Row + 1
                WTab.Range("A" & M) = WList.Range("A" & i).Value
                WTab.Range("AD" & M) = WList.Range("B" & i).Value
                WTab.Range("AE" & M) = CDbl(WList.Range("E" & i).Value)
            End If
        End If
        Flag = False

    Next
    
 Unload Me
End Sub


le code aurait pu être plus optimisé, mais d'abord voir si ça convient

A+
 
Re : VBA Transfert deux opérations sur une même ligne

Bonjour Paf, le forum,

Merci pour ce bout de code qui fonctionne à merveille.
Ca faisait un moment que je cherchais à m'adapter à la logique de ce que je voulais, mais pas moyen d'y parvenir... Ahhh vieillesse ennemie...
Je vais maintenant l'adapter à ma sauce et ça devrait faire l'affaire! ;-)
Bon dimanche et merci encore.

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

Réponses
12
Affichages
440
Retour