Double Comparaison colonne Suite 2

Résolu
TintinU2 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   -  
TintinU2 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Je viens une fois de plus demander votre aide pour un petit problème.
Revoici mon problème de comparaison avec mes deux lignes
https://forums.commentcamarche.net/forum/affich-32704270-double-comparaison-colonne-suite

J'ai un problème avec ma comparaison de ma première qui ressemble à T150806-8372

Dans le code, VBA me met une erreur sur la ligne suivant :

.Range("A2").Resize(UBound(T_Out_Extract, 2), UBound(T_Out_Extract, 1)) = Application.Transpose(T_Out_Extract)


Provient de :

   'restitution des données en feuilles "extract apres macro" et "bdd apres macro"
With SheetRestiBdd
.Cells.ClearContents
.Range("A1").Resize(, UBound(Entete_Cols_Bdd, 2)) = Entete_Cols_Bdd
.Range("A2").Resize(UBound(T_Out_Bdd, 2), UBound(T_Out_Bdd, 1)) = Application.Transpose(T_Out_Bdd)
End With
With SheetRestiExtr
.Cells.ClearContents
.Range("A1").Resize(, UBound(Entete_Cols_Extr, 2)) = Entete_Cols_Extr
.Range("A2").Resize(UBound(T_Out_Extract, 2), UBound(T_Out_Extract, 1)) = Application.Transpose(T_Out_Extract)
End With


L'erreur est "Incompatibilité de type", n°13
Est-ce quelqu'un à une petite idée?

Merci d'avance

TintinU2

3 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    quand vous avez l'erreur, clic sur debugage, passez le curseur souris sur

    UBound(T_Out_Extract, 2)


    de la ligne

    .Range("A2").Resize(UBound(T_Out_Extract, 2), UBound(T_Out_Extract, 1)) = Application.Transpose(T_Out_Extract)


    pour voir si votre tableau a bien des limites
    1
    1. TintinU2 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   5
       
      Bonjour f894009,

      Merci pour ta réponse.

      En effet T_Out_Extract à bien une limite. Dans mon cas, elle est à 196
      0
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > TintinU2 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
       
      Re,

      Desole, mais y deux limites:

      UBound(T_Out_Extract, 2), UBound(T_Out_Extract, 1)
      0
    3. TintinU2 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   5 > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
       
      J'ai bien une limite pour les deux

      UBound(T_Out_Extract, 2) = 196
      UBound(T_Out_Extract, 1) = 16
      0
    4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > TintinU2 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour,

      Il faudrait votre fichier, car je ne peux pas vraiment faire de simulation
      0
    5. TintinU2 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   5
       
      Voici un exemple de mon fichier
      Il y a seulement les colonnes B, K, L, M
      Moi je veux juste faire une comparaison avec les colonnes B et M
      http://www.cjoint.com/c/EKskya4ZhFF

      Merci encore pour ton aide

      TintinU2
      0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,
    complement d'infos apres tests:
    Application.Transpose

    limites: max lignes 65536 lignes et 255 caracteres par cellules. N'a pas evolue depuis office2003

    je remets le fichier car j'avais oublie d'enlever une ligne pour test
    https://www.cjoint.com/c/EKtgkvOKNkf
    1
    1. TintinU2 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   5
       
      Bonjour f894009,

      Je te remercie énormément :)

      Pour bien comprendre ce que tu as fais, tu as rajouter une boucle afin d'éviter
      Application.Transpose
      qui lui ne prends en compte que 255 caractères max par cellules.
      0
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > TintinU2 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
         
        Re,

        Oui, car certaines instructions n'ont pas évolué avec Office2007 et plus. Ca ne vient pas forcément a l'idée de suite
        0
      2. TintinU2 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   5 > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
         
        D'accord.

        Merci beaucoup ton aide.

        Bon courage et bonne journée
        0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Ben, y a pas d'erreur !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    0
    1. TintinU2 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   5
       
      En effet je n'ai pas de problème non plus.

      Je teste ligne par ligne et je viens de me rendre compte que c'est la colonne H qui pose problème. Il n'y a que du texte dans cette colonne.
      Je ne comprend pas pourquoi vu que la colonne H ne fait pas partie du code.
      0
    2. TintinU2 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   5
       
      Je précise : Sur cette colonne, j'effectue une suppression de caractère avant un certain mot

      C'est-à-dire que je supprime tout le texte qui ce situe avant le mot : "observation"

      Voici mon code :
      Sub Supp_Observation()

      Sheets("Feuil1").Select

      der_ligne_5 = Range("B1").End(xlDown).Row
      'MsgBox der_ligne_5
      ActiveSheet.Range("B1:H" & der_ligne_5).AutoFilter Field:=7, Criteria1:="*observation*"

      Dim Cel As Range, Plage As Range
      Dim Mot As String
      Dim der_ligne_6 As Integer, pre_ligne_5 As Integer

      der_ligne_6 = Range("B1").End(xlDown).Row
      pre_ligne_6 = Range("B1").End(xlUp).Row + 1

      Set Plage = Range("H" & pre_ligne_6 & ":H" & der_ligne_6)
      Mot = "Observation" 'adapter au mot à rechercher et à supprimer
      For Each Cel In Plage
      On Error Resume Next
      Cel = Mid(Cel, InStr(1, Cel, Mot))
      Next Cel

      ActiveSheet.Range("G1:H" & der_ligne_5).AutoFilter Field:=7

      End Sub


      Est-ce que le problème pourrait venir de la?

      Encore merci f894009 pour ton aide
      0
    3. TintinU2 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   5
       
      Ou bien, je pense plus pour ce deuxième problème

      Est-ce que le nombre de caractère est limité ?
      Mon plus long texte dans la colonne H fait 1028 caractères (espaces compris)
      Si c'est le cas, je suppose qu'il y a une limite de caractère
      0
    4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > TintinU2 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
       
      Re,

      Vu que je n"ai pas vos donnees, pas facile de comprendre. De plus dans le code de votre precedent post, vous avez ceci
      Sheets("Feuil1").Select
      et dans votre fichier il n'y a pas de "feuil1" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      0
    5. TintinU2 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   5 > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
       
      Merci pour ta remarque
      En effet je n'ai pas de "feuil1"
      Je l'ai renommé par la suite, donc cela ne pose pas de problème dans mon programme actuel.

      Je te joins un fichier avec mon problème. J'ai mis de "x" à la place des mots que j'ai (c'est un peu confidentielle)
      http://www.cjoint.com/c/EKspDjD0NSF
      0