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



A voir également:

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