XL 2021 La méthode union de l'objet '_Global' a échoué

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 !

treza88

XLDnaute Occasionnel
Bonjour à tous,

Pouvez vous me dire pourquoi j'ai cette erreur sur la dernière ligne du code alors que mes deux autres plages sont remplies correctement et avec le même format.

Par contre elles viennent de 2 feuille différente, est ce là le soucis ?

Si oui comment puis je les concaténer ?

VB:
filePath = "C:\Users\THOMESHE\Documents\Sauvegarde Dev\Fichier Excel\Plan de charge\14_11_2025\Plan de charge.xlsm"


If filePath <> "False" Then ' Ouvrir le classeur source en lecture seule
    Set wbSource = Workbooks.Open(Filename:=filePath, ReadOnly:=True)
    Set wsSource = wbSource.Sheets("Terminés")
    For i = 1 To 2
    
        If i = 2 Then
            Set wsSource = wbSource.Sheets("Charges")
            num = 0
        End If
    
        Application.CutCopyMode = False
        MsgBox wsSource.Name
        ' Définir la plage à copier
        Set sourcePlage = wsSource.Range("A6:" & wsSource.Cells(Rows.Count, 3).End(xlUp).Address, "E6:" & wsSource.Cells(Rows.Count, 7).End(xlUp).Address) ' Remplacez par votre plage de cellules
        nbLignesPlage = 0
        nbLignesPlage = sourcePlage.Rows.Count
        MsgBox nbLignesPlage
        'Stop
    ' Boucler sur chaque ligne de la plage
        For Each ligne In sourcePlage.Rows
            'MsgBox ligne.Address
            'Stop
            lign = False
            ' Exécuter une action sur la cellule courante
            For Each cell In ligne.Cells
 
                If Split(cell.Address, "$")(1) = "A" Then
                'MsgBox cell.Text & " " & cell.Address
                '         Stop
                    If Trim(cell.Text) = "T" Or Trim(cell.Text) = "P" Or Trim(cell.Text) = "t" Or Trim(cell.Text) = "p" Then
 
                    num = num + 1
                    lign = True
                    Set strRng = ligne
                    '    MsgBox strRng.Address

                    End If
                End If
                'Stop
            Next cell
            If lign Then
            'MsgBox "ok"
            If i = 1 Then
                If num = 1 Then
                    Set plageUnion1 = strRng
                Else
                    Set plageUnion1 = Union(plageUnion1, strRng)
                End If
            Else
                If num = 1 Then
                    Set plageUnion2 = strRng
                Else
                    Set plageUnion2 = Union(plageUnion2, strRng)
                End If
            End If
                'MsgBox plageUnion.Address
                'Stop
            End If
        Next ligne
      
    Next i
   Set plageUnion = Union(plageUnion1, plageUnion2)
 
j'ai deux plages dans un fichier source non ouvert dans 2 feuilles différentes et je veux affecter la première plage a un objet Range, puis intégrer/concaténer la deuxième plage dans ce même objet Range en passant par ou plusieurs objet Range.

Plage de même largeur, mais hauteur différente

Voici le genre de plage que j'ai visualiser dans le fichier joint
 

Pièces jointes

Dernière édition:
- 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
5
Affichages
725
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
9
Affichages
743
Réponses
3
Affichages
782
Retour