Erreur étrange
Résolu
Shadorb
Messages postés
60
Statut
Membre
-
Shadorb Messages postés 60 Statut Membre -
Shadorb Messages postés 60 Statut Membre -
Bonjour,
J'ai un problème étrange j'ai 2 boutons pas sur la même feuille qui exécute la même fonction et l'un des deux fait crash la fonction, or c'est le bouton sur la feuille importante qui plante. Je pense que le bouton ne doit pas avoir accès à certaine chose sur l'autre feuille et ça plante, pourtant j'ai (normalement) préciser les feuilles sur lesquels je travaille.
J'ai un problème étrange j'ai 2 boutons pas sur la même feuille qui exécute la même fonction et l'un des deux fait crash la fonction, or c'est le bouton sur la feuille importante qui plante. Je pense que le bouton ne doit pas avoir accès à certaine chose sur l'autre feuille et ça plante, pourtant j'ai (normalement) préciser les feuilles sur lesquels je travaille.
'Import du CSV + suppresion colonne superflu
Option Explicit
Sub Bouton1_Clic()
Dim nbligne1 As Integer
Dim myRange As Range
Dim cell As Range
Dim i&, FSO As Object, Fichier As Object, TMP() As String, path As String
Dim lastLigneF2 As Long
Dim LigneF1 As Integer
Dim LigneF3 As Integer
Dim lastLigneF1 As Long, lastLigneF3 As Long
Dim sh2 As Range, sh1 As Range, c As Range, d As Range
Dim valeur1 As String, valeur2 As String
Dim sh3 As Range, e As Range
Dim mois As String: mois = "C.A. HT "
Dim colonneF1 As String
'import CSV
path = Application.GetOpenFilename("Text Files (*.csv), *.csv", 1, "Fichier CSV Requis")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Fichier = FSO.OpenTextFile(path)
Application.ScreenUpdating = False
lastLigneF2 = Sheets("Feuil1").Range("B" & Rows.Count).End(xlUp).Row
Do
i = i + 1
TMP = Split(Fichier.ReadLine, ";")
Cells(i, 1).Resize(1, UBound(TMP) + 1) = TMP
Loop While Not Fichier.AtEndOfStream
'Suppresion colonne superflu
Set myRange = Sheets("Feuil1").Range("T7:T" & lastLigneF2)
For Each cell In myRange
If cell.Value = "CUMUL" Then cell.EntireRow.Delete
Next
Set sh3 = Sheets("Tri Alpha").Range("D2:O2")
mois = mois + InputBox("Quelle mois ? : ")
For Each c In sh3
'MsgBox (StrComp(mois, c.Value, vbTextCompare) = 0)
If (StrComp(mois, c.Value, vbTextCompare) = 0) Then
colonneF1 = Split(c.Address, "$")(1)
End If
Next
lastLigneF1 = Sheets("Tri Alpha").Range("B" & Rows.Count).End(xlUp).Row
lastLigneF3 = Sheets("Feuil1").Range("B" & Rows.Count).End(xlUp).Row
Set sh1 = Sheets("Tri Alpha").Range("B6:B" & lastLigneF1)
Set sh2 = Sheets("Feuil1").Range("B7:B" & lastLigneF3)
For Each e In sh1
LigneF1 = e.Row
valeur1 = e.Value
For Each d In sh2
LigneF3 = d.Row
valeur2 = d.Value
'MsgBox (StrComp(valeur1, valeur2, vbTextCompare) = 0)
If (StrComp(valeur1, valeur2, vbTextCompare) = 0) Then
'Worksheets(1).Range("F" & LigneF1) = Worksheets(3).Range("Z" & LigneF3)
Worksheets(1).Range(colonneF1 & LigneF1) = Round(CLng(Worksheets(3).Range("Z" & LigneF3)))
End If
Next
Next
Application.ScreenUpdating = True
End Sub
A voir également:
- Erreur étrange
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- J'aime par erreur facebook notification - Forum Facebook
1 réponse
Bonjour,
sans fichier pour tester, sans savoir ce que tu veux faire et sans indication de la ligne en erreur ça va tenir de la divination...
Déjà pour qu'elle n'ai pas la même réaction je me dis que tu as dû la mettre dans un module feuille et non un module standard, ou que tu utilises la feuille active sans savoir si c'est la bonne.
Dans la même ligne tu ne spécifies jamais le classeur, es-tu sûr de t'adresser au bon à chaque fois ?
eric
sans fichier pour tester, sans savoir ce que tu veux faire et sans indication de la ligne en erreur ça va tenir de la divination...
Déjà pour qu'elle n'ai pas la même réaction je me dis que tu as dû la mettre dans un module feuille et non un module standard, ou que tu utilises la feuille active sans savoir si c'est la bonne.
Dans la même ligne tu ne spécifies jamais le classeur, es-tu sûr de t'adresser au bon à chaque fois ?
eric
Sheets("Feuil1").Cells(i, 1).Resize(1, UBound(TMP) + 1) = TMPj'ai oublié de préciser ou importer le csv du coup il écrasait la page courante. il suffisait de rajouter
Sheets("Feuil1")