Comparaison de deux cellules : incompatibilité

Bonjour à tous

Je me traîne depuis quelques heures une incompatibilité de type qui m'agace au plus haut point!!!

Voilà mon problème :

Sur un onglet Feuille_entree, j'ai un bouton auquel j'ai affecté un userform avec 3 boutons options et 5 textbox en tout. Je fonctionne sous forme de "noeuds". En appuyant sur valider, elles s'affichent dans un tableau située sur le même onglet (colonnes M, N, O et P). Ce tableau se remplit au fur et à mesure que je saisis des valeurs.

Textbox 1 : temps départ (colonne M)

Textbox 2 : volume départ (colonne N)

Textbox 3 : temps arrivée (colonne O)

Textbox 4 : volume arrivée (colonne P)

A part la ligne 0, je saisis des valeurs dans les textbox 3 et 4 car :

temps et volume noeud d'arrivée à la ligne k = temps et volume noeud de départ à la ligne k + 1

Sur un autre onglet, Feuil1,

Dim Dlig1, Dlig2, Dlig3, Dlig4 As Long

With Sheets("Feuille_entree")

Dlig1 = .Range("M" & Rows.Count).End(xlUp).Row

Dlig2 = .Range("N" & Rows.Count).End(xlUp).Row

Dlig3 = .Range("O" & Rows.Count).End(xlUp).Row

Dlig4 = .Range("P" & Rows.Count).End(xlUp).Row

.Range("M" & Dlig1 + 1).Value = TextBox1.Value

.Range("N" & Dlig2 + 1).Value = TextBox2.Value

.Range("O" & Dlig3 + 1).Value = TextBox3.Value

.Range("P" & Dlig4 + 1).Value = TextBox4.Value

End With

Pas de problème cela fonctionne.

Par contre, j'ai un autre onglet Feuil1 où j'ai un tableau qui se remplit automatiquement avec pas mal de formules. Elles fonctionnent, pas de soucis.

En fait, j'effectue une boucle à partir de la dernière ligne remplie et les valeurs saisies dans la textbox3 et la textbox 4 sont les conditions d'arrêt de ma boucle. Sur Feuil1, le temps est sur la colonne A et le volume sur la colonne D.

With Sheets("Feuil1")

Dlig = .Range("A" & Rows.Count).End(xlUp).Row

End With

Dim i As Long, v As Long

v = 1000

For i = (Dlig + 1) To v

.... formules qui marchent

If (CDbl(TextBox4.Value) = CDbl(Sheets("Feuil1").Range("D" & i).Value) And CDbl(TextBox3.Value) = CDbl(Sheets("Feuil1").Range("A" & i).Value) And OptionButton1 = True) Or (CDbl(TextBox4.Value) = CDbl(Sheets("Feuil1").Range("D" & i).Value) And (OptionButton2 = True Or OptionButton3 = True)) Then

Exit For

End If

Next i

Suivant les 3 options dans l'userform, il y a 3 conditions d'arrêt mais quand je lance la boucle, cela me calcule une ligne et le message "incompatibilité de type " apparaît.

Pouvez-vous m'aider à sortir de cette impasse ?

Cordialement

Romhin

Bonjour

Il serait plus simple de chercher l'erreur si on disposait du fichier. Te devrais le joindre, quitte à modifier les données confidentielles si besoin...

Bye !

Voila un bout de code sur les volumes que j'avais peut etre oublié :

'volL niveau figé

If OptionButton1 = True Then

Sheets("Feuil1").Range("D" & i).Value = Sheets("Feuil1").Range("D" & (i - 1)).Value

End If

'volL baisse de niveau

If OptionButton2 = True Then

Sheets("Feuil1").Range("D" & i).FormulaLocal = "=SI(B" & i & "=0;D" & (i - 1) & "-AM3;D" & (i - 1) & ")"

End If

'volL baisse de niveau

If OptionButton3 = True Then

Sheets("Feuil1").Range("D" & i).FormulaLocal = "=SI(B" & i & "=0;D" & (i - 1) & "+AM3;D" & (i - 1) & ")"

End If

Bonjour

Est-ce que quelqu'un pourrait m'indiquer si mon bout de code vous paraît juste au niveau de la syntaxe. La comparaison dans la boucle me donne toujours une incompatibilité.

Bonjour,

tu n'as pas pris la peine de lire la réponse de GMB ?

P.

Vous pensez bien que si je pouvais mettre le fichier, je l'aurais mis sur le forum.

Mais bon je n'ai pas le droit de divulguer ce fichier même une infime partie.

Je voulais juste savoir si mon code fonctionnait car c'est cette partie qui pêche...

Merci

Romhin a écrit :

Vous pensez bien que si je pouvais mettre le fichier, je l'aurais mis sur le forum.

Mais bon je n'ai pas le droit de divulguer ce fichier même une infime partie.

Je voulais juste savoir si mon code fonctionnait car c'est cette partie qui pêche...

Merci

Réponse quasi quotidienne !!!

Tu peux faire une copie en changeant quelques données par des données bidons mais en gardant ainsi la structure du fichier sinon, on risque de lire "ça ne va pas sur mon vrai fichier"

P.

J'ai trouvé ma réponse : il fallait prendre en compte la colonne D et pas la colonne A pour initialiser Dlig.

Discussion résolue

Rechercher des sujets similaires à "comparaison deux incompatibilite"