Incompatibilité de Type : Erreur d'execution 13
Bonjour,
Pouvez-vous essayer :
if cell.value = Marecherche.value thenCdlt,
Bonsoir, j'ai testé sans succès.
Finalement, j'ai réussi en modifiant quelque peu le code dont voici le détail :
Private Sub OK_Click()
Dim Num_serie As Range
Dim Trouve As Range
Dim Lig As Integer
Dim Marecherche As String
Marecherche = Sheets(Ltm1.Value).Range("C13") 'Recherche de la valeur C13 de la feuille matériel(liste déroulante)
Set Num_serie = Sheets("Synthèse").Columns(5) 'scan toutes les cellules de la colonne E de la feuille synthèse
Set Trouve = Num_serie.Cells.Find(What:=Marecherche, LookAt:=xlWhole) ' recherche de la vleur exact
With Sheets(Ltm1.Value).Activate 'Dans la feuille Matériel (liste déroulante)
Range("I11") = Ddm1.Value 'Applique en I11 la valeur TextBox Ddm1
Range("C14") = Aff1.Value 'Applique en C14 la valeur TextBox Aff1
Range("I13") = Ddv1.Value 'Applique en I13 la valeur TextBox Ddv1
If Range("C10").Value = "Comparateur" Then 'Si la valeur C10 = "Comparateur" alors
Fvi1.Value = "6 mois" 'Applique "6 mois" à TextBox Fvi1
Else: Range("D18") = Fvi1.Value 'Sinon Applique en D18 la valeur TextBox Fvi1
End If
If Ddv1.Value = "1 an" Then 'Si la TextBox Ddv1 = 1 an alors
Range("I18").Value = "Remplacement" 'Applique "Remplacement" en I18
Else: Range("I18") = Fve1.Value 'Sinon Applique en I18 la valeur TextBox Fve1
End If
Range("D19") = Pvi1.Value 'Applique en D19 la valeur TextBox Pvi1
End With
With Sheets("Synthèse").Activate 'Dans la feuille "Synthèse"
Lig = Trouve.Row 'Dimensionnement de Lig avec la valeur de la ligne de la cellule
Cells(Lig, 7) = Ddm1.Value 'Applique en G Lig la valeur Ddm1
Cells(Lig, 6) = Aff1.Value 'Applique en F Lig la valeur Aff1
Cells(Lig, 10) = Fvi1.Value 'Applique en J Lig la valeur Fvi1
Cells(Lig, 11) = Fve1.Value 'Applique en K Lig la valeur Fve1
End With
Sheets("Accueil").Activate 'Retour a la feuille "Accueil"
Unload Me
End SubMerci pour votre aide.
Bonjour,
Je ne sais pas vraiment si vous attendez quelque chose de moi. J'ai juste réorganisé un petit peu le code et j'ai pointé les range de manière à les lier à la feuille à laquelle ils appartiennent. Ca évite les Activate et ne laisse pas de doute quand plusieurs feuilles sont impliquées dans un même code :
Private Sub OK_Click()
Dim Num_serie As Range
Dim Trouve As Range
Dim Lig As Integer
Dim Marecherche As String
With Sheets(Ltm1.Value) 'Dans la feuille Matériel (liste déroulante)
.Range("I11") = Ddm1.Value 'Applique en I11 la valeur TextBox Ddm1
.Range("C14") = Aff1.Value 'Applique en C14 la valeur TextBox Aff1
.Range("I13") = Ddv1.Value 'Applique en I13 la valeur TextBox Ddv1
If .Range("C10").Value = "Comparateur" Then 'Si la valeur C10 = "Comparateur" alors
Fvi1.Value = "6 mois" 'Applique "6 mois" à TextBox Fvi1
Else: .Range("D18") = Fvi1.Value 'Sinon Applique en D18 la valeur TextBox Fvi1
End If
If Ddv1.Value = "1 an" Then 'Si la TextBox Ddv1 = 1 an alors
.Range("I18").Value = "Remplacement" 'Applique "Remplacement" en I18
Else: .Range("I18") = Fve1.Value 'Sinon Applique en I18 la valeur TextBox Fve1
End If
.Range("D19") = Pvi1.Value 'Applique en D19 la valeur TextBox Pvi1
Marecherche = .Range("C13").value 'Recherche de la valeur C13 de la feuille matériel(liste déroulante)
End With
With Sheets("Synthèse") 'Dans la feuille "Synthèse"
Set Num_serie = .Columns(5) 'scan toutes les cellules de la colonne E de la feuille synthèse
Set Trouve = Num_serie.Cells.Find(What:=Marecherche, LookAt:=xlWhole) ' recherche de la vleur exact
Lig = Trouve.Row 'Dimensionnement de Lig avec la valeur de la ligne de la cellule
.Cells(Lig, 7) = Ddm1.Value 'Applique en G Lig la valeur Ddm1
.Cells(Lig, 6) = Aff1.Value 'Applique en F Lig la valeur Aff1
.Cells(Lig, 10) = Fvi1.Value 'Applique en J Lig la valeur Fvi1
.Cells(Lig, 11) = Fve1.Value 'Applique en K Lig la valeur Fve1
End With
Sheets("Accueil").Activate 'Retour a la feuille "Accueil"
Unload Me
End SubCdlt,
Effectivement, voilà 3 mois que je découvre les joies de VBA. Tous les conseils sont les bienvenus.
merci pour le conseil et le temps consacré.
au plaisir. Bonne soirée.
Ah, alors ce n'est que le début ! C'est un vaste océan de possibilités.
Merci à toi pour ta sympathie !
Très bonne soirée,
