Après recherche Lig & Col renseigner la cellule trouvée

Bonjour à tous

Petit soucis (encore!) avec mon code VBA (je précise pour @James )

Donc après de multiples saisie de renseignement via Userform, j'arrive à la saisie du montant d'une indemnité ... qui peut être à "0" si la cession de la concession n'est pas rémunérée... mais qui entre dans les calculs ultérieurs de moyenne du prix de cession...

Pour que ce montant s'affiche dans la bonne cellule de ma feuille j'ai besoin de rechercher :

1 : la ligne où se trouve la concession

2 : la colonne où se trouve la commission qui a statuée pour accord

.... jusque là le code fonctionne...

Le soucis avec mon code... c'est que lors de l’exécution de la fonction IF cela plante... bien que le nom de la cellule "cells(Lig,Col) " corresponde bien à la ligne et la colonne recherchée antérieurement et bien que la variable Indem corresponde bien au montant voulu....

Donc comme vba ne se trompe jamais, j'ai encore du faire une erreur sotte dans mon code...

Donc un petit coup de main est le bienvenu (avec les explications aussi du pourquoi il faut faire ainsi afin que je comprenne !) et MERCI d'avance

Voici le code et le fichier :

Private Sub ValFinIndem_Click()

Dim DerC As Integer

Dim ws As Worksheet

Dim Lig As String 'Ligne trouvée de la concession

Dim Col As String 'Colonne trouvée de la CCM

Dim Concession As String 'Concession existante

Dim PlConcession As Range 'Colonne des concessions

Dim TrLig As Range 'trouver la ligne de la concession

Dim ColCCM As String 'CCM existante

Dim PlCcm As Range 'ligne des CCM

Dim TrCol As Range 'trouver la colonne de la CCM voulue

Dim Indem As String 'montant indemnité

Set ws = Sheets("Feuil1")

ws.Activate

DerCol = ws.Cells(1, Columns.Count).End(xlToLeft).Column

Indem = Me.TBIndem

'trouver la ligne de la concession

Concession = UserForm1.TBConc

Set PlConcession = ws.Columns(2)

Set TrLig = PlConcession.Cells.Find(What:=Concession, LookAt:=xlWhole)

Lig = Cells.Find(TrLig).Row

'trouver la colonne de la CCM

ColCCM = UserForm1.TBCCM

Set PlCcm = ws.Range(Cells(1, 8), Cells(1, DerCol))

Set TrCol = PlCcm.Cells.Find(What:=ColCCM, LookAt:=xlWhole) 'trouver la colonne existante

Col = Cells.Find(TrCol).Column

'renseigner la colonne du CCM en cours de saisie

If Indemn = "0" Then

ws.Cells(Lig, Col).Value = "0"

Else

ws.Cells(Lig, Col).Value = Indem

End If

Me.TBIndem = ""

Unload UserForm2

Load UserForm1

UserForm1.TBConc = ""

UserForm1.TBCCM = ""

End Sub

Bonjour lillysg

Tout au début du code tu as fait une petite erreur qui ne se répercute qu'au moment du IF en question

Tente :

Dim Lig As Long 'Ligne trouvée de la concession
Dim Col As Long 'Colonne trouvée de la CCM

Plutôt que :

Dim Lig As String 'Ligne trouvée de la concession
Dim Col As String 'Colonne trouvée de la CCM

Bonjour Lilly

Merci pour la précision qui m'est destinée ......

Pour pouvoir lire ton Code ... correctement ...

il faut que tu utilises les Balises Code ...( photo ci-dessous ... Bouton N° 5)

balise code

Bonjour @NCC1701 & @James007

NCC : Merci pour le renseignement et donc pour la solution... ... J'ai pas pensé à regarder dans mes déclarations manque de café matinal

James : ... tu sais bien que VBA est pire qu'une drogue... quand on est plongé dans un code... du coup la boite à neurone parfois oublie les B à BA... et la mienne est en mode "nuit blanche" ce matin du coup, j'ai pas pensé à utiliser l'option code... en fait j'y pense rarement... il faut que je m'améliore...

Bon... là... la partie super facile est terminée... et la complexe va commencer avec les traitements multicritère des données...

Je vous souhaite une excellente journée et encore merci pour votre disponibilité et vos judicieuses solutions ...

(..)

@James

Désolé, pour le

James007 a écrit :

Merci pour la précision qui m'est destinée ......

Mais cela m'a semblé trop simple, et j'ai voulu t'éviter une surcharge neuronale

@lillysg

Merci pour

lillysg a écrit :

NCC : Merci pour le renseignement et donc pour la solution...

Les remerciements sont toujours agréable ! Autant que le café du matin
NCC 1701 a écrit :

(..)

@James

Désolé, pour le

James007 a écrit :

Merci pour la précision qui m'est destinée ......

Mais cela m'a semblé trop simple, et j'ai voulu t'éviter une surcharge neuronale

En ces temps bien agités ... j'apprécie beaucoup.... Merci pour ta sollicitude ...

Rechercher des sujets similaires à "recherche lig col renseigner trouvee"