Excel vba erreur d'exécution

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 !

laraviole

XLDnaute Junior
Bonjour le forum,
Je viens une nouvelle fois demander votre aide pour un petit souci de macro.
J'ai une macro assez longue qui bug vers la fin quand il n'y a pas de donnée au moment ou elle vient pour les coller dans un autre fichier.
Range("O2😛2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("Histo_Doublons.xls").Activate
Range("A65535").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Quand il y a des données pas de souci tout fonctionne bien
Quand il n'y a pas de données la macro sélectionne les 65535 lignes et ensuite au moment du collage elle me donne une ereur d'éxécution qui dit " impossible de coller les informations car les zones de copies et de collage sont de forme et de taille différentes"
L'idéal serait que quand il n'y a pas de données en "O2😛2", la sélection ne descende pas en 65535.
En espérant ne pas être trop confuse
Merci pour votre aide
Cordialement
Laraviole
 
Re : Excel vba erreur d'exécution

Bonjour Pierrot93
Merci pour ta réponse cela fontionne, seul inconvéniant c'est que la macro se termine alors qu'il faudrait qu'elle reprenne à la ligne rouge
Cordialement
Laraviole

If Application.CountA(Range("O2😛2")) = 0 Then Exit Sub
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
'Range(Selection, Selection.End(xlDown)).Select
'Selection.Copy
Windows("Histo_Doublons.xls").Activate
Range("A65535").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Range("C2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Range("C2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=RC[-2]&RC[-1]"
If [B65536].End(xlUp).Row > 1 Then _
Range("C2").AutoFill Destination:=Range("C2:C" & Range("B65536").End(xlUp).Row)
Range("A1").Select
ActiveWorkbook.Save
Windows("Doublons_Diffusion.xls").Activate Range("A1").Select
Sheets(Array("Feuil2", "Feuil3")).Select
Sheets("Feuil3").Activate
ActiveWindow.SelectedSheets.Delete
Sheets("Feuil1").Select
Sheets("Feuil1").Name = "Doublons"
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
ActiveWindow.Close
Selection.AutoFilter
Range("A1").Select
ActiveWindow.Close
Range("A1").Select
Application.DisplayAlerts = True
MsgBox ("Traitement des doublons terminé")



End Sub
 
Re : Excel vba erreur d'exécution

Bonjour,
Il suffit de tester
Code:
If Application.CountA(Range("O2:P2")) > 0 Then
'le code
End If
'la suite du code
Pour le reste, je pense que ce code pourrait être grandement optimisé...😱
A+
kjin
 
Re : Excel vba erreur d'exécution

Bonsoir Kjin,
Je viens de tester et c'est super cela fonctionne
Je veux bien croire que le code peux être amélioré car je me suis servi d'excel en automatique pour l'écrire + quelques petits rajouts piochés par-ci, par là. Mais bon, cela fonctionne et me permet de gagner beaucoup de temps dans le traitement du fichier
Merci pour votre aide encore une fois le forum s'avère plus qu'efficace
Cordialement
Laraviole
 
- 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
4
Affichages
367
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
876
Réponses
11
Affichages
803
Réponses
5
Affichages
577
Retour