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

Help Properly let procedure not defined and property get procedure did not returned a

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

GoRichie

XLDnaute Nouveau
Bonjour a tous 🙂
Voila, j'ai ecrit un macro pour trouver le complementaire de l'intersection de deux colonnes. Je m'explique :
Prenons deux colonnes A et B dont les valeurs sont

1 2
2 4
3 6
4 8
5
6
7

Mon macro doit parcourrir chaque colonne afin de detecter les valeurs qui ne sont pas contenues dans la colonne opposee. Chaque fois qu'une valeur remplit cette condition, on colorie sa cellule. Dans notre cas on doit obtenir :


1 2
2 4
3 5
4 6
5 8
6
7

Voici mon macro :

' TiboDuplica Macro
'


col1 = Selection.Column(1)
col2 = Selection.Column(2)

der1 = Range(col1 & "1").End(xlDown).Row
der2 = Range(col2 & "2").End(xlDown).Row

For i = 1 To der1
occur = 0
For j = 1 To der2
If Cells(j, col2) = Cells(i, col1) Then
occur = occur + 1
End If
If (j = der2) And (occur = 0) Then
Range(col1 & i).Interior.ColorIndex = 6
End If
Next j
Next i

For m = 1 To der2
occur = 0
For n = 1 To der1
If Cells(n, col1) = Cells(m, col2) Then
occur = occur + 1
End If
If (n = der1) And (occur = 0) Then
Range(col1 & m).Interior.ColorIndex = 6
End If
Next n
Next m

End Sub

Malheureusement mon macro ne marche pas, je precise que je le lance a partir d'un bouton que j'ai place sur ma feuille, apres avoir selectionne les colonnes (a comparer) auparavant (avec la souris).
Lorsque j'appuie sur le bouton sense lancer mon macro, ca me retourne :
Properly let procedure not defined and property get procedure did not returned an object 😕 (dsl je suis en anglais) 😱

Je pense que c'est du a une erreur de synthaxe quelque part, peut-etre lorsque j'essaie de retourner le numero de colonne selectionnee a l'aide de Selection.Column(1) ou alors lorsque je concatenne dans "Range" en faisant Range(col1 & "1")., je ne sais pas.

Voila desole pour ce gros pave (je suis trop precis peut-etre😛), je galere en ce moment, je pense que c'est du a une erreur de syntaxe toute bete...
Je vous remercie pour votre patience et vous prie de m'eclairer.
 
Dernière édition:
Re : Help Properly let procedure not defined and property get procedure did not retur

Bonjour à tous


Une autre solution proche de celle de Jean-Marcel (avec boucle et Counttif)

Code:
Sub a()
Dim n&, nn&, r&, dl&
dl = [A65536].End(xlUp).Row
For r = 1 To dl
    n = Application.WorksheetFunction.CountIf([B:B], Cells(r, 1))
    nn = Application.WorksheetFunction.CountIf([A:A], Cells(r, 2))
    If n = 0 Then
        If Not IsEmpty(Cells(r, 1)) Then
        Cells(r, 1).Font.ColorIndex = 4
        End If: End If
    If nn = 0 Then
        If Not IsEmpty(Cells(r, 2)) Then
        Cells(r, 2).Font.ColorIndex = 4
        End If: End If
Next
End Sub
edition: bonjour Jean-Marcel
 
Dernière édition:
Re : Help Properly let procedure not defined and property get procedure did not retur

Re

Je me suis contenté de trouver une solution selon l'exemple donné
(Ni plus ni moins 😀)

Bien bu Stapple
😛
Et je n'ai rien bu !

EDITION: problème soulevé par Jean-Marcel résolu avec cette version
Code:
Sub ab()
Dim n&, nn&, r&, DL&, dla&, dlb&
dla = [A65536].End(xlUp).Row: dlb = [B65536].End(xlUp).Row
DL = IIf(dlb > dla, dlb, dla)
For r = 1 To DL
    n = Application.WorksheetFunction.CountIf([B:B], Cells(r, 1))
    nn = Application.WorksheetFunction.CountIf([A:A], Cells(r, 2))
    If n = 0 Then
        If Not IsEmpty(Cells(r, 1)) Then
        Cells(r, 1).Font.ColorIndex = 4
        End If: End If
    If nn = 0 Then
        If Not IsEmpty(Cells(r, 2)) Then
        Cells(r, 2).Font.ColorIndex = 4
        End If: End If
Next
End Sub
 
Dernière édition:
Re : Help Properly let procedure not defined and property get procedure did not retur

Bien le bonjour🙂,
Merci boucoup pour vos solutions, je les ai teste ca marche parfaitement. (Surtout la 1 et la 3)
Mais mon principal probleme c'est que ds mon cas, ce n'est pas forcement les colonnes A et B que je veux comparer, mon document comporte beaucoup de colonnes ca pourrait etre A et G ou bien C et AA ...
En fait je veux que mon macro compare deux colonnes quelconques, que j'aurai selectionne auparavant (avec la souris).
C'est a dire que l'on lance la macro apres avoir selectionne les colonnes a comparer. Du coup, le macro doit pouvoir retourner le numero de colonne des colonnes selectionnes (Est-ce possible 😕).
Je suis conscient que j'essaie quelque chose de peu banal (ou pas 🙄) , mais c'est surement la facon la plus pratique pour executer mon macro.
Merci d'avance.

1, 2, 3, 4... je vous raconte pas la suite 😎
 
Dernière édition:
Re : Help Properly let procedure not defined and property get procedure did not retur

Bonjour encore🙂,
Voila j'ai termine en m'inspirant plus ou moins (^^) de vos reponses, Jean-Marcel j'ai reussi a creer un macro qui s'execute apres avoir selectionne les colonnes (Donc pas besoin de msgbox😉)
Merci a vous et longue vie au forum !

Si ca vous interesse je vous joint mon doc 😎
 

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

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
372
Réponses
4
Affichages
581
Réponses
2
Affichages
432
  • Question Question
Microsoft 365 VBA sur outlook
Réponses
14
Affichages
1 K
Réponses
2
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…