macro : incompatibilité de type

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

K

kakachi

Guest
bonsoir,
j'ai codé une macro " archiver " mais quand je l'exécute, j'ai ce message " incompatibilité de type ", je ne sais pas comment résoudre ce problème
voici le le code :

En rouge, l'incompatibilité de type

Sub Archiver()

Dim num_position(17) As Byte
Dim i As Integer

Sheets("Jeu_Résultats").Select
Range("K2").Select
date_position = Range("K2").Value
If date_position = "" Then Exit Sub

For i = 1 To 17
num_position(i) = Range("L6").Offset(i - 1, 0).Value
If IsEmpty(num_position(i)) Then
End If
Next i

Sheets("Archives").Select
Range("A1").Select
If Range("A3").Value <> "" Then ActiveCell.End(xlDown).Select
ActiveCell.Offset(2, 0).Select
ActiveCell.Value = date_position

For i = 1 To 17
ActiveCell.Offset(0, i).Value = num_position(i)
Next i

End Sub

si une personne peut m'aider 🙂

@+ !!! et bonne nuit
 
Re : macro : incompatibilité de type

Bonjour FredOo,

merci pour tes explications, je vais me pencher dessus plus tard car la, je pars bosser 🙂

après une première lecture de tes explications, je vois comment tu as procéder pour prendre en compte mes tableaux " bizarres " .

je te souhaite une bonne journée, @+ !!!
 
Re : macro : incompatibilité de type

Re-bonjour FredOo,

merci pour tes explications, je vais me pencher dessus plus tard car la, je pars bosser 🙂

Après une première analyse,dans ma feuille excel, il y a 3 rangées de 9 tableaux et non 2 rangées
pour les 2 rangées de 9 tableaux, j'ai analysé ton code et je vois un peu plus clair dans ta façon de procéder.
la je veux prendre en compte la 3 rangées de 9 tableaux, j'essaie d'adapter ton code mais toujours rien 😱
pour prendre en compte ma 3ieme rangées de 9 tableaux, dois-je créer un tableau a 3 dimensions ?

je te souhaite une bonne journée, @+ !!![/QUOTE]
 
Dernière modification par un modérateur:
Re : macro : incompatibilité de type

Bonjour kakashi,

En effet, j'avais complètement zappé la 3° rangée de tes tableaux. J'ai donc modifié mon code pour en tenir compte.
J'ai donc rajouté une condition pour l'offset des colonnes et j'ai remplacé le
VB:
IIf(k < 10, k, k - 9) - 1) * 6
par un
VB:
((k - 1) Mod 9) * 6
Ce qui permet de gérer un nombre de rangées infini.

Chez moi, ça fonctionne.

A+
 
Re : macro : incompatibilité de type

Salut FredOo,

j'ai fait la modification du code VBA comme tu l'as indiqué et chez moi ça ne marche pas !!
Dans mon fichier excel, le code ne prend pas en compte les 9 colonnes mais toujours les 6 premières colonnes.... ou peut être que je n'ai ^pas compris la modification du code

voici le code modifié :
Sub Archiver()

Dim num_position(17, 18) As Variant
Dim date_position
Dim i As Byte, j As Byte, k As Byte

Sheets("Jeu_Résultats").Select
date_position = Range("K2").Value
If date_position = "" Then Exit Sub

Sheets("Archives").Select
Range("A2").Select
If Range("A3").Value <> "" Then ActiveCell.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = date_position
Sheets("Jeu_Résultats").Select

For k = 1 To 18
For i = 1 To 17
num_position(i, k) = Range("L5").Offset(i + IIf(k < 10, 0, 23), ((k - 1) Mod 9) * 6).Value
Next i
Next
Sheets("Archives").Select
j = 1
For k = 1 To 18
For i = 1 To 17
If num_position(i, k) <> " " And num_position(i, k) <> "" Then
ActiveCell.Offset(0, j).Value = num_position(i, k)
j = j + 1
End If
Next i
Next
End Sub

@+ !!!!
 
Re : macro : incompatibilité de type

Re-bonjour,

Sorry, j'étais persuadé d'avoir mis le fichier en pièce jointe.

Voilà qui est fait...

Remarque : dans ton fichier d'origine, tous les tableaux n'étaient pas correctement alignés. J'ai réparé ce pb.

A+
 

Pièces jointes

Re : macro : incompatibilité de type

Merci FredOo pour ton aide 🙂

dans le code, j'avais oublié de redimensionner le tableau, c'est pour cela que ça ne fonctionnait pas chez moi !!

maintenant, c'est chose faite, le code VBA fonctionne bien 🙂🙂

@+ !!!!!
 
Re : macro : incompatibilité de type

Bonjour,

FredOo, je reviens vers toi afin de solliciter a nouveau ton aide

A partir de ton code VBA " Archiver ", j'ai fait une adaptation a mes 9 tableaux.
Cependant, le code que j'ai fonctionne pas très bien, j'ai des incoherences dans ma feuille "Archives". Dans la feuille" archives", les resultats du jeu 7 correspondent a ceux du jeu 4, et le jeu 8 est faux. Je ne vois pas d'ou peux venir ce bug :

mon fichier excel est en pièce jointe

@+ !!!!
 

Pièces jointes

- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
907
Réponses
15
Affichages
776
Réponses
8
Affichages
390
Réponses
4
Affichages
729
Réponses
10
Affichages
661
Retour