Plan sur Excel

Bonjour Tout le monde,

Voila j'ai crée un programme VBA sur excel qui me permet d'insérer des données sur un plan excel.

Je suis confronté un a problème, il s'execute pas normalement.

je sais pas trop pourquoi en fait

'lerreur est surligné j'aimerai savoir savoir la signifiaction j'ai fait le tour sur certain classeur elle marche convenablement mais sur certain il marche pas convenablement

Public Sub plan()
Dim lg1 As Long, lg2 As Long, col As Integer
Dim sel As Range
Dim wk1 As Worksheet, wk2 As Worksheet
Set wk1 = Sheets("DONNEES")
Set wk2 = Sheets("PLAN")
For lg1 = 2 To wk1.UsedRange.Rows.Count
    If Not wk1.Cells(lg1, 5).Value = "Placé" Then
        lg2 = 1: col = 1
        Do
            Set sel = wk2.Cells.Find(What:=wk1.Cells(lg1, 4).Value, After:=wk2.Cells(lg2, col), _
                LookIn:=xlFormulas, LookAt:=xlPart)
            If sel Is Nothing Then             
   wk1.Cells(lg1, 5).Value = "Pas de place"
                Exit Do
            End If
            If Left(sel.Value, 13) = "Reference : " & Chr(10) Then
                sel.Value = Replace(sel.Value, "Reference : ", "Reference : " & wk1.Cells(lg1, 1).Value)
                sel.Value = Replace(sel.Value, "Boitage : ", "Boitage : " & wk1.Cells(lg1, 2).Value)
                sel.Value = Replace(sel.Value, "Nbre de boite : ", "Nbre de boite : " & wk1.Cells(lg1, 3).Value)
                wk1.Cells(lg1, 5).Value = "Placé"
                Exit Do
            End If
            lg2 = sel.Row: col = sel.Column
        Loop
    End If
Next lg1
End Sub

vous trouverez ci-joint le classeur surlequel il ne s'execute pas bien .

mERCI et A+

29classeurc.xlsx (13.27 Ko)

Bonjour

Je n'ai pas téléchargé ton fichier car in ne contient pas la macro

Pourquoi ?

Fichier .xlsx = Fichier sans macro

fichier .xlsm = Fichier avec macro

Joins ton fichier normal avec la(les) macro(s)

A te lire

Bonjour,

C'est l'inconvénient de ce type de montage . Je résume :

Do

If Sel = 1 Then

Exit Do

End If

If Sel >1 Then

Exit Do

End If

'Ici rien n'est prévu si l'une ou l'autre condition n'est pas remplie. Donc la boucle se poursuit indéfiniement.

Loop

A+

j'ai copier la macro sur et mis en couleur l'erreur que j'ai quand je l’exécute.

ci-joint le fichier avec la macro

Merci A+

25classeurem.7z (49.76 Ko)

Bonjour

Si j'ai compris

Bonjour

le problème en fait ma macro ne s’exécute pas sur certains classeurs et mais du temps à s'exécuter.

En effet sur certains classeurs elle me dit qu'il n'a pas de place alors que les places existe dans le plan et sont libres.

tu trouveras ci-joint par exemple le classeur C qui ne s’exécute pas ou la E qui sur certaines adresse me dit "pas de place" alors qu'il y'en à.

Execute la macro du classeur E que je t'ai envoyé dernièrement sur le classeur C et J tu constateras.

Le classeur J s’exécute convenablement contrairement au C

Ta macro s'execute pourtant bien sur le classeur C mais ne place pas les références "placé" sur le plan.

19classeurc.xlsx (12.39 Ko)
16classeurj.xlsx (14.42 Ko)

Bonjour

D'abord il faudrait commencer à lire ce que j'avais marqué au sujet des fichiers .xlsx

Fichiers avec macro

azerty10 a écrit :

les places existe dans le plan et sont libres

Elles paraissent libres mais ne le sont pas en fonction du test que tu effectues

If Left(sel.Value, 13) = "Reference : " & Chr(10) Then

par exemple (et je n'ai pas été plus loin) la cellule M2 de ton fichier "Classeur C" feuille "Plan" commence par

"Reference :" & Chr(10)

Manque l'espace après les deux-points ( : ) ---> donc le test est faux et la macro considère cette cellule occupée

Juste un avis : Dans les cellules sensées être vides note seulement l'adresse et change cette partie du code

Set sel = .Find(What:=wk1.Cells(lg1, 4).Value, _
                LookIn:=xlValues, LookAt:=xlWhole)

Je n'ai pas testé mais il ne devrait pas y avoir de problème

Comme cela en 1 seul balayage la macro trouvera un emplacement libre directement (cela accélérera la macro)

Bonne journée

Bonjour

Sincèrement je comprend pas trop ...j'ai modifié comme tu me l'as dit mais rien au contraire sa me dit "pas de place" à toutes mes références ce qui est impossible.

Je voulais que tu revois ta macro (celle joint) pour qu'elle insère les données dans dans "plan"

En effet , ta macro s'execute bien sur "données" mais ne place pas les ref "placé" dans "plan"

Mercii A+

15classeurc.xlsx (12.39 Ko)

Bonjour

Alire les explications dans la feuille "Plan"

Rechercher des sujets similaires à "plan"