Problème dans une macro sous openOffice

Résolu
baptbapt41 Messages postés 6 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 12 octobre 2009 - 11 oct. 2009 à 21:54
baptbapt41 Messages postés 6 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 12 octobre 2009 - 12 oct. 2009 à 08:43
Bonjour,
J'ai un problème dans une macro avec :
If target.Column <> 2 Or target.Row < 3

Ca me met "Erreur d'exécution Basic variable non définie"

Voici la macro complète :
REM ***** BASIC *****

Sub Ogame

Dim oDocument As Object, oSheet As Object, oCell As Object
oDocument = ThisComponent
oSheet = oDocument.Sheets. getByName ("Feuille1")

Dim si As String
Dim s As String
Dim temp As String
Dim i As Integer
Dim j as Integer
Dim k As Integer

Dim s1 As String
Dim s2 As String
Dim s3 As String

If target.Column <> 2 Or target.Row < 3 Then Exit Sub
If target.Value = "" Then
Cells(target.Row, 3) = ""
Cells(target.Row, 4) = ""
Cells(target.Row, 5) = ""
Exit Sub
End If

si = target.Value

For j = 1 To Len(si)
temp = Mid(si, j, 1)
If temp <> "." Then
s = s + temp
End If
Next j

i = Len(s)

For j = 1 To i
If Mid(s, j , 1) = " " Then Exit For
Next J

s1 = Mid(s, 1, j - 1)

For k = j + 1 To i
If Mid(s, k, 1) = " " Then Exit For
Next k

s2 = Mid(s, j +2, k - j - 2)

For j = (k + 1) To i
If Mid(s, j, 1) = " " Then Exit For
Next j

s3 = Mid(s, j + 1, i - j - 1)

Cells(target.Row, 3) = s1
Cells(target.Row, 4) = s2
Cells(target.Row, 5) = s3

End Sub



Merci d'avance pour vos aides

9 réponses

baptbapt41 Messages postés 6 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 12 octobre 2009
12 oct. 2009 à 08:43
Je vais m'acheter "VBA pour les Nuls" pour comprendre mieux et au besoin je te contacterais surement

@+
3
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
11 oct. 2009 à 22:56
EBonjour,

1) et c'est quoi ? du VB6 ? non ===>> du VBA/Excel (erreur de thème)

2) et d'o^ù vien Target ? je ne le vois pas dans ta sub ...
0
baptbapt41 Messages postés 6 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 12 octobre 2009
11 oct. 2009 à 23:03
Et comment doit-je le mettre dans ma sub ?
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
11 oct. 2009 à 23:15
Ca, alors !
Une autre fois : d'où vient-elle ? Au hasard de quoi ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
baptbapt41 Messages postés 6 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 12 octobre 2009
11 oct. 2009 à 23:20
Faut que je met un truc comme ça ?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
11 oct. 2009 à 23:37
Worksheet_SelectionChange est (j'espère que tu le sais) non un "truc comme ça", mais un évènement.
Et tu es bien le seul à savoir, jusqu'à présent, si les instructions que tu définis doivent être exécutées lors de cet évènement !
1) Sais-tu au moins où tu vas et ce que tu cherches à faire ?
2) je te le répète : VB6 (le thème où tu as posé ta question) n'a rien à voir avec VBA (celui où tu aurais dû la poser)...
0
baptbapt41 Messages postés 6 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 12 octobre 2009
11 oct. 2009 à 23:41
Je l'ai fais faire par un collègue
Au début de la macro, il a mis
Public Sub Decompose (ByRef target As Range)

Mais si je le met ça me met Public non autorisé dans une procédure ...
0
baptbapt41 Messages postés 6 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 12 octobre 2009
11 oct. 2009 à 23:48
Cette macro devrai me permettre d'extraire trois données d'une cellule pour les inscrire dans trois cellule différentes tout en enlevent les points
exemple :
1.645.333 (Place 548 sur 1.668) que je met dans une cellule
donc ça doit m'extraire 164533 dans une cellule
548 dans une autre, et 1668 dans une autre ...
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
11 oct. 2009 à 23:59
Bref...
Interroge donc ton collègue !
Et fais-le autrement qu'en te contentant (ce que tu fais) de recopier sans rien comprendre !
Mais auparavant : ouvre donc ton aide en ligne (tu me parais en avoir sacrément besoin !) et lis, étudie...
Notamment : ce que sont les procédures de type Public (et où on les utilises !).
Bonne chance
0
Rejoignez-nous