Probleme affectation worksheet

Résolu
develySIDE Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   -  
develySIDE Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Pour m'éviter les doublons et les prises de place incessante, j'ai réaliser une affectation de variable tel que :

Dim wb As Workbook
Dim sh As Worksheet
Dim i As Integer
Dim j As Integer
Dim annee As Date
Dim moisnaiss As Integer

Set wb = ThisWorkbook
Set sh = Sheets("Mois_1")
i = 4
j = 1


Cependant, lorsque j'éxecute le code si dessous, j'obtient une erreur " Propriété ou méthode non gérer par cet objet " sur le début du while, j'en conclu donc que c'est mon affectation de feuille qui ne fonctionne pas ( ayant fait des test sur le wb ), si quelqu'un pouvais m'indiquez mon erreur que je puisse la comprendre, merci d'avance

While wb.sh.Range("E" & i) <> ""
    If wb.sh.Range("B" & i) <> "" Then
    
        annee = wb.sh.Range("B" & i).Value
        anneenaiss = Year(CDate(annee))
        moisnaiss = Month(CDate(annee))
        'MsgBox (anneenaiss)
        If anneefichier - anneenaiss <= 6 Then
            If anneenaiss = 2009 Then
                If moisnaiss <= Month(Now()) Then
                    wb.sh.Range("A" & j).Value = wb.sh.Range("C" & i + 1).Value
                    j = j + 1
                Else
                    wb.sh.Range("B" & j).Value = wb.sh.Range("C" & i + 1).Value
                    j = j + 1
                End If
            Else
                wb.sh.Range("B" & j).Value = wb.sh.Range("C" & i + 1).Value
                j = j + 1
            End If
        Else
            wb.sh.Range("A" & j).Value = wb.sh.Range("C" & i + 1).Value
            j = j + 1
        
        End If
        
    End If
    i = i + 1

Wend

End Sub

1 réponse

ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   160
 
Bonjour Develyside, bonjour le forum,

Pas sûr que ça fonctionne mais essaie cela. Définit la variable sh comme ça:

Set sh = ThisWorkbook.Sheets("Mois_1")

et par la suite, pour faire référence à l'onglet utilise simplement sh et non pas wb.sh. D'ailleurs, si tout se passe dans le même classeur (ThisWorkbook), tu peux te passer de la variable wb...
0
develySIDE Messages postés 50 Date d'inscription   Statut Membre Dernière intervention  
 
Effectivement, en enlevant le wb devant chaque sh tout fonctionne comme il faut, merci beaucoup
0