Incompatibilté de type..erreur 13

Bonjour tout le monde. j'ai un problème dans mon programme, puisque je suis débutant en programmation avec VBA je sais pas quoi faire..

j'ai une erreur d’incompatibilité de type dans:

sana = cells(i, 13)

et voici le code complet si vous pouvez m'aider

Sub pourcentage()

Dim sana As Date

Dim i As Long

Dim coefSCR As Single

Dim j As Long

Workbooks("PSAP 19.xlsx").Sheets("Survenance Par Année").Activate

For i = 3 To Range("A65536").End(xlUp).Row

sana = cells(i, 13)

Workbooks("param.xlsx").Sheets("Traité 19").Activate

For j = 2 To 9

If sana = cells(j, 1) Then coefSCR = cells(j, 2)

Next j

cells(i, 14) = coefSCR * cells(i, 10)

Next i

End Sub

Merci d'avance

Bonjour

Sans voir ton fichier

Vérifies bien si ce n'est que des dates sont bien en format date et non en format texte, dans ta colonne

Sinon joins ton fichier anonymisé

voici ci-joint mes deux classeurs de base

Merci d'avance.

23nouveau-dossier.rar (21.66 Ko)

Bonjour mehdissam, le forum,

Peut-être un problème de date ?

Si nous pouvions voir le fichier...

Cordialement

Joseph

Bonjour

Il faut que tu déclares ta variable Sana en Integer

Une question : Dans quelle page tu dois écrire ceci ?

Cells(i, 14) = coefSCR * Cells(i, 10)

Actuellement c'est dans la page Workbooks("param.xlsx").Sheets("Traité 19")

Tu dois avoir un sacré mélange entre tes classeurs

Mais me trompais-je peut-être ?

Bonjour mehdiissam, banzai64, le forum

Désolé Banzai64, je n'avais pas rafraichi la page.

Mêmes remarques : la variable sana n'est pas une date, et où se situe la macro.

Amicalement

Joseph

Bonjour,

Alors déjà dans tes deux fichiers les deux colonnes où se trouvent les dates sont au format standard et non date, donc au pire déclare ta variable en integer plutôt qu'en date, ou change le format de tes colonnes.

j'aurais bien creusé un peu plus profond, mais je n'ai trouvé aucune trace du code en question dans tes fichiers

oui en faite tu as raison je dois la coller dans le classeur PSAP 19 merci pour ta remarque. je vais retester le programme et voir s'il y a d'autre problèmes.. Merci encore une fois mes Amis

Bonjour

Une idée sans être sur de ce que tu veux

A partir de la macro dans la fichier Param

On actualise le fichier Psap 19

Mais j'ai "travaillé" sans filet

A suivre

22mehdiissam.zip (29.47 Ko)

j'ai encore un petit problème

je cherche à remplacer la boucle For par la boucle While dans ce programme mais ça me donne pas mal d'erreur si vous pouvez m'aider.

Sub cession_légale()

Dim j As Long

Dim sana As Date

Dim coef As Double

Workbooks("PSAP 19.xlsx").Sheets("Survenance Par Année").Activate

For j = 3 To Range("A65536").End(xlUp).Row

sana = cells(j, 13)

Workbooks("param.xlsx").Sheets("Traité 19").Activate

For i = 3 To 10

'''''Do While cells(13, i).Value <> " "

If cells(13, i) = sana Then

coef = cells(16, i)

Workbooks("PSAP 19.xlsx").Sheets("Survenance Par Année").Activate

cells(j, 9) = cells(j, 5) * coef

End If

Next i

'''loop

Next j

End Sub

Merci d'avance

Quelles erreurs, à quel endroit ?

Déja avant ta boucle while, tu dois initialiser ton i à 3, puis dans ta boucle avoir un i=i+1 pour que la boucle avance, après sans plus de précisions difficile à cerner.

Sub cession_légale()
Dim j As Long
Dim sana As Date
Dim coef As Double

Workbooks("PSAP 19.xlsx").Sheets("Survenance Par Année").Activate

For j = 3 To Range("A65536").End(xlUp).Row
   sana = Cells(j, 13)
   Workbooks("param.xlsx").Sheets("Traité 19").Activate
   i = 3

Do While Cells(13, i).Value <> ""
   If Cells(13, i) = sana Then
      coef = Cells(16, i)
      Workbooks("PSAP 19.xlsx").Sheets("Survenance Par Année").Activate
      Cells(j, 9) = Cells(j, 5) * coef
   End If
   i = i + 1
Loop

Next j

End Sub

mERCI mon Ami du fond du coeur pour ton aide..

j'ai encore un autre problème

voilà le code et j'ai travaillé sur la même base de donnée..

Sub psap_fin()

Dim j As Long

Dim i As Long

Dim SCR As Variant

Dim Cat As Integer

Dim temp As Variant

Workbooks("PSAP 19.xlsx").Sheets("Survenance Par Année").Activate

For i = 3 To Range("A65536").End(xlUp).Row

Cat = cells(i, 1)

SCR = cells(i, 14)

Workbooks("PSAP 19.xlsx").Sheets("PSAP FIN").Activate

For j = 4 To Range("A65536").End(xlUp).Row

If Cat = cells(j, 2) Then cells(j, 3) = cells(j, 3) + SCR

Next j

Next i

je sais que c'est trop mais... Merci chalereusement

Bonjour

Pour mehdiissam

Même si cela ne te convient pas la plus simple des correction est de tester le fichier et dire si cela ne va pas

C'est à dégouter d'aider les gens de tel comportement

A cette heure : 18:12 le fichier n'a pas été téléchargé

https://forum.excel-pratique.com/excel/incompatibilte-de-type-erreur-13-t24025.html#p136175

Bonjour,

je n'avais pas fais attention que vous m'avez laisser un zip pour et comme je suis débutant sur votre forum..

Merci comme même de m'avoir aider dans mon programme dans un premier temps et de m'avoir insulter aprés.. je vous Remercie tous..

@+

Bonjour

Alors désolé mais je n''avais pas l'intention de te t'insulter

Mais c'est ton comportement qui m'a mis hors de moi

J'ai donné une réponse à 13:28 et même après tes réponses à 13h52 et à 16h12 tu n'as pas téléchargé le fichier et cela m'a sérieusement agacé à 18:12

J'aurai préféré avoir une réponse négative que de m'ignorer

Alors je regrette de m'être emporté, ce n'est pas trop mon genre (quoique)

Merci comme même pour ton aide

Rechercher des sujets similaires à "incompatibilte type erreur"