IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

erreur d'exécution incompatibilité avec Offset.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2020
    Messages : 4
    Par défaut erreur d'exécution incompatibilité avec Offset.
    Bonjour,

    Sur un de mes fichier qui fonctionnait bien auparavant, je rencontre un probleme avec Offset. Voici ma macro et l'erreur qui y apparait (en gras). merci par avance.

    Dim i As Integer
    Dim rng_Index_SuiviOS As Range
    Dim rng_SuiviOS As Range


    Set rng_Index_SuiviOS = Worksheets("Index_SuiviOS").Range("M14")

    With Worksheets("SuiviOS")
    Sheets("SuiviOS").Range("A14:K65500").ClearContents
    Set rng_SuiviOS = .Range("A14")

    For i = 0 To Worksheets("Index_SuiviOS").Columns(13).Find("*", , , , , xlPrevious).Row - 2
    If rng_Index_SuiviOS.Offset(i, 0) = "1" Then (erreur 13 incompatibuilité etc....)

    rng_SuiviOS.Offset(0, 0) = rng_Index_SuiviOS.Offset(i, -12)
    rng_SuiviOS.Offset(0, 1) = rng_Index_SuiviOS.Offset(i, -11)
    rng_SuiviOS.Offset(0, 2) = rng_Index_SuiviOS.Offset(i, -10)
    rng_SuiviOS.Offset(0, 3) = rng_Index_SuiviOS.Offset(i, -9)
    rng_SuiviOS.Offset(0, 4) = rng_Index_SuiviOS.Offset(i, -8)
    rng_SuiviOS.Offset(0, 5) = rng_Index_SuiviOS.Offset(i, -7)
    rng_SuiviOS.Offset(0, 6) = rng_Index_SuiviOS.Offset(i, -6)
    rng_SuiviOS.Offset(0, 7) = rng_Index_SuiviOS.Offset(i, -5)
    rng_SuiviOS.Offset(0, 8) = rng_Index_SuiviOS.Offset(i, -4)
    rng_SuiviOS.Offset(0, 9) = rng_Index_SuiviOS.Offset(i, -3)
    rng_SuiviOS.Offset(0, 10) = rng_Index_SuiviOS.Offset(i, -2)

    Set rng_SuiviOS = rng_SuiviOS.Offset(1, 0)
    End If
    Next i

    End With

    End Sub

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour Many95870

    Peut-être mieux comme ça, à tester 🤔
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Sub Test()  Dim i As Integer
      Dim rng_Index_SuiviOS As Range
      Dim rng_SuiviOS As Range
      Dim LigFind As Long
     
      Set rng_Index_SuiviOS = Worksheets("Index_SuiviOS").Range("M14")
      LigFind = Worksheets("Index_SuiviOS").Columns(13).Find("*", , , , , xlPrevious).Row - 2
      If LigFind = 0 Then
        MsgBox "Problème pour trouver LigFind"
        Exit Sub
      End If
      '
      With Worksheets("SuiviOS")
        Sheets("SuiviOS").Range("A14:K65500").ClearContents
        Set rng_SuiviOS = .Range("A14")
        For i = 0 To LigFind
          If rng_Index_SuiviOS.Offset(i, 0) = 1 Then
            rng_SuiviOS.Offset(0, 0) = rng_Index_SuiviOS.Offset(i, -12)
            rng_SuiviOS.Offset(0, 1) = rng_Index_SuiviOS.Offset(i, -11)
            rng_SuiviOS.Offset(0, 2) = rng_Index_SuiviOS.Offset(i, -10)
            rng_SuiviOS.Offset(0, 3) = rng_Index_SuiviOS.Offset(i, -9)
            rng_SuiviOS.Offset(0, 4) = rng_Index_SuiviOS.Offset(i, -8)
            rng_SuiviOS.Offset(0, 5) = rng_Index_SuiviOS.Offset(i, -7)
            rng_SuiviOS.Offset(0, 6) = rng_Index_SuiviOS.Offset(i, -6)
            rng_SuiviOS.Offset(0, 7) = rng_Index_SuiviOS.Offset(i, -5)
            rng_SuiviOS.Offset(0, 8) = rng_Index_SuiviOS.Offset(i, -4)
            rng_SuiviOS.Offset(0, 9) = rng_Index_SuiviOS.Offset(i, -3)
            rng_SuiviOS.Offset(0, 10) = rng_Index_SuiviOS.Offset(i, -2)
     
     
            Set rng_SuiviOS = rng_SuiviOS.Offset(1, 0)
          End If
        Next i
      End With
    End Sub
    A+

Discussions similaires

  1. Erreur d'exécution incompatibilité de type erreur 13
    Par chilo27390 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/04/2018, 10h00
  2. Erreur d 'exécution '1004' avec feuille protégée
    Par markos63 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/07/2016, 22h33
  3. Erreur d'exécution avec les Runtime
    Par denils dans le forum Runtime
    Réponses: 30
    Dernier message: 22/01/2015, 15h21
  4. [XL-2010] Erreur d'exécution 75 avec RmDIr
    Par Mrfreeze117 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/12/2014, 16h56
  5. erreur d'exécution 13, incompatibilité de type
    Par PHPdudimanche dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 01/06/2007, 15h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo