Erreur 438 VBA Excel

Résolu/Fermé
Michaos Messages postés 5 Date d'inscription mercredi 2 janvier 2013 Statut Membre Dernière intervention 3 janvier 2013 - 2 janv. 2013 à 17:13
Michaos Messages postés 5 Date d'inscription mercredi 2 janvier 2013 Statut Membre Dernière intervention 3 janvier 2013 - 3 janv. 2013 à 17:40
Bonjour,
Je débute en VBA et je ne maitrise pas encore très bien les objets
Dans le cadre d'un projet, je dois réaliser une macro vérifiant le contenu d'un tableau de commande et demandant le délai si les colonnes 1à7 sont bien remplies.

Le probleme c'est que à chacune de mes boucles For each, j'ai l'erreur 438 "Propiété ou méthode non gérée par l'objet"

Voici le programme :
Sub VerifCommand()
Dim NbColonne As Integer
Dim NbLigne As Integer
Dim feuille As Range
Dim cellule As Range
Dim colonne As Integer
NbColonne = 1
NbLigne = 1
Worksheets("Commande").Range("A3").Select 'selectionne A3
For Each cellule In Worksheets("Commande") 'regarde combien il y a de colonne et l'affecte dans NbColonne
If Not (InStr(CStr(Worksheets("Commande").cellule), "") > 0) Then
NbColonne = NbColonne + 1
Else
Exit For
End If
Cells(ActiveCell.Row, ActiveCell.Column + 1).Select
Next cellule
Worksheets("Commande").Cells(3, 1).Select 'selectionne A3
For Each cellule In Worksheets("Commande") 'regarde combien il y a de lignes et l'affecte dans Nbligne
If Not InStr(ActiveCell.Value, "") > 0 Then
NbLigne = NbLigne + 1
Else
Exit For
End If
Cells(ActiveCell.Row + 1, ActiveCell.Column).Select
Next cellule

Worksheets("Commande").Cells(4, 1).Select 'selectionne A2
For Each feuille In Worksheets("Commande") 'change de ligne
For Each cellule In Worksheets("Commande") 'change de colonne
If Not InStr(CStr(Worksheets("Commande").ActiveCell), "") > 0 Then
ActiveCell.Value = InputBox("la cellule " & Cells(ActiveCell.Row, ActiveCell.Column).Value & "n'est pas remplie") 'informe l'utilisateur que la commande n'est pas complète
End If
Cells(ActiveCell.Row, ActiveCell.Column + 1).Select
colonne = cellule.Column
If colonne > NbColonne - 2 Then 's'arrete avant la colonne délai
Exit For
End If
Next cellule
If Not InStr(Worksheets("Commande").ActiveCell, "") > 0 Then 'verifie si la colonne délai est vide
Call UserForm2
End If
Cells(ActiveCell.Row + 1, 1).Select
If Cells(ActiveCell.Row).Value > NbLigne Then
Exit For
End If
Next feuille
End Sub



9 réponses

Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
2 janv. 2013 à 20:46
Bonsoir Michaos,

Il faudrait le classeur pour mieux comprendre car là .. difficile à dire

Pour que l'on puisse avoir accès à une copie du classeur, il déposer sa copie sur un site de stockage tel que www.cjoint.com et nous donner l'adresse Internet de ce lien.

Attention toutefois à ne laisser aucune données sensibles !!
0