Problème dans une macro sous openOffice [Résolu]

Signaler
Messages postés
6
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
12 octobre 2009
-
Messages postés
6
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
12 octobre 2009
-
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

Messages postés
6
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
12 octobre 2009

Je vais m'acheter "VBA pour les Nuls" pour comprendre mieux et au besoin je te contacterais surement

@+
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
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 ...
Messages postés
6
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
12 octobre 2009

Et comment doit-je le mettre dans ma sub ?
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
Ca, alors !
Une autre fois : d'où vient-elle ? Au hasard de quoi ?
Messages postés
6
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
12 octobre 2009

Faut que je met un truc comme ça ?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
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)...
Messages postés
6
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
12 octobre 2009

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 ...
Messages postés
6
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
12 octobre 2009

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 ...
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
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