Erreur dans mon code
RésoluBruno83200_6929 Messages postés 282 Date d'inscription jeudi 18 juin 2020 Statut Membre Dernière intervention 23 octobre 2024 - 10 avril 2024 à 12:24
- Erreur dans mon code
- Erreur 0x80070643 - Accueil - Windows
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
2 réponses
10 avril 2024 à 11:18
Salut,
on suppose que c'est du VBA/Excel ?
10 avril 2024 à 12:01
Bonjour,,
Il semble que vous ayez une erreur dans la manière dont vous essayez d'utiliser la variable NJ. Dans votre code, vous avez déclaré NJ comme une variable de type Range, mais vous essayez de l'utiliser comme s'il s'agissait d'une propriété de l'objet Worksheet.
Pour utiliser correctement la variable NJ, vous devez l'utiliser comme une plage à part entière. Voici comment vous pourriez le faire :
Dim NJ As Range
Set NJ = Worksheets("Toto").Range("E3475") ' ou toute autre façon de définir NJ
Worksheets("Feuil2").Range(MaPlage.Address).Copy Destination:=NJ.Offset(0, 4)
Dans ce code, nous avons d'abord défini la variable NJ comme une plage valide dans la feuille "Toto". Ensuite, nous utilisons cette plage NJ comme destination pour la copie de la plage MaPlage depuis la feuille "Feuil2", avec un décalage de 4 colonnes vers la droite.
En espérant vous avoir aidé.
10 avril 2024 à 12:18
Merci pour tes explications toujours aussi claires et précises:
ça fonctionne bien avec Copy Destination:=NJ.Offset(0, 4) !
En fait, j'ai compris que NJ étant défini comme un Range de la feuille "Toto" , il est donc redondant de préciser dans Copy Destination:= la feuille contenant NJ (ici, Worksheets("Toto")) . C'est ce qui devait provoquer le bug ?
Merci pour ton aide! Cordialement, Mikel
10 avril 2024 à 12:24
Oui, exactement ! Je suis heureux que mes explications aient été utiles.
Lorsque vous définissez une plage (Range) dans une feuille spécifique (dans ce cas, "Toto"), vous capturez déjà l'emplacement précis de cette plage dans cette feuille. Ainsi, lorsque vous utilisez NJ.Offset(0, 4), vous dites essentiellement à Excel de copier vers la plage qui est décalée de 4 colonnes à droite par rapport à NJ sur la feuille "Toto". Par conséquent, spécifier la feuille dans Copy Destination devient redondant, car NJ lui-même est déjà associé à la feuille "Toto".
En omettant la feuille dans Copy Destination, vous évitez les erreurs potentielles causées par des références croisées entre différentes feuilles, ce qui aurait pu être à l'origine du bug que vous avez rencontré. En résumé, votre compréhension est tout à fait correcte !
A plus !
10 avril 2024 à 11:19
Oui , désolé, j'ai oublié de préciser ...