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

XL 2016 Macro VBA pour copier tableau qui a un problème

  • Initiateur de la discussion Initiateur de la discussion Etoto
  • 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 !

Etoto

XLDnaute Barbatruc
Supporter XLD
Bonjour chers membres,

Dans une autre discussion, un membre (@pierrejean merci 🙂) m'a donnée une macro qui fonctionne nickel ! En fait, quand on clique sur une cellule de colonne B, le tableau correspondant qui se situe sur le deuxième onglet se fait "copier" dans la colonne J et K. Tout cela est parfait mais elle ne fonctionne pas quand je sélectionne la cellule B18, pourtant, y a bien une en-tête de tableau qui a exactement le même nom. Pouvez-vous m'aider ? C'est mon fichier que j'utilise pour ma ressource et je l'améliore.
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B4:B38")) Is Nothing Then
    x = ActiveCell.Value
    Set c = Feuil1.Range("B1:O124").Find(x, LookIn:=xlValues)
    If Not c Is Nothing Then
        For n = c.Row To Rows.Count
            If Feuil1.Cells(n, c.Column) = "" Then
                fin = n
                Exit For
            End If
        Next
        Sheets("Accueil").Range("J2:K" & Rows.Count) = ""
        Feuil1.Range(Cells(c.Row, c.Column).Address & ":" & Cells(fin, c.Column + 1).Address).Copy Destination:=Sheets("Accueil").Range("J2")
    Else
        MsgBox ("Pas trouvé")
    End If
End If
End Sub

Merci beaucoup !
 

Pièces jointes

Solution
Bonjour @Etoto

Ta zone de recharge est trop petite
Set c = Feuil1.Range("B1:O124").Find(x, LookIn:=xlValues)

hors "Forces électromagnétique est en ligne 127

Solution :
Modifie ta zone de recherche ou bien rends la générique
(Tu prends comme référence la colonne la plus longue, chez toi c'est H)
Derlig = Feuil1.Range("H" & Rows.Count).End(xlUp).Row
Set c = Feuil1.Range("B1:O" & Derlig).Find(x, LookIn:=xlValues)

@Phil69970
Bonjour @Etoto

Ta zone de recharge est trop petite
Set c = Feuil1.Range("B1:O124").Find(x, LookIn:=xlValues)

hors "Forces électromagnétique est en ligne 127

Solution :
Modifie ta zone de recherche ou bien rends la générique
(Tu prends comme référence la colonne la plus longue, chez toi c'est H)
Derlig = Feuil1.Range("H" & Rows.Count).End(xlUp).Row
Set c = Feuil1.Range("B1:O" & Derlig).Find(x, LookIn:=xlValues)

@Phil69970
 
- 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
479
Réponses
4
Affichages
223
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
317
Réponses
4
Affichages
461
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…