Bonjour , sur une feuille de cacul excel j'ai un tableau avec
horizontalement différents noms et verticalement des dates, j'aimerais grâce
à une boite de dialogue ou je définit un nom, une date de debut et une date
de fin, j'ai affecte une macro à un bouton pour qu'il cherche la valeur
associe au nom a la date de debut et qu'il en retranche la valeur de ce meme
nom a la date de fin. Ce qui en soit ne paraissait pas insurmontable, mais
voilà j'ai un probleme, j'avais utilise la fonction recherche afin de
trouver la date mais lorsque je lance la macro il s'arrete en me mettant un
message
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Kamel
"Daniel Crochart" a écrit dans le message de news: %
Bonjour , sur une feuille de cacul excel j'ai un tableau avec horizontalement différents noms et verticalement des dates, j'aimerais grâce à une boite de dialogue ou je définit un nom, une date de debut et une date de fin, j'ai affecte une macro à un bouton pour qu'il cherche la valeur associe au nom a la date de debut et qu'il en retranche la valeur de ce meme nom a la date de fin. Ce qui en soit ne paraissait pas insurmontable, mais voilà j'ai un probleme, j'avais utilise la fonction recherche afin de trouver la date mais lorsque je lance la macro il s'arrete en me mettant un message
Variable objet ou variable de bloc With non définie
Là je nage et je demande l'aide, merci d'avance
Voici ci-dessous un extrait du module
Private Sub CommandButton1_Click()
Dim valeurs, colonnevaleurs, val1, val2, a, b As Variant
Dim datdeb, datefin As Date
---> Contrairement à d'autres langages, il faut définir à coté de chaque variable son type: Dim datdeb As Date, datefin As Date ...
valeurs = ComboBox1
datedeb = TextBox5
datefin = TextBox6
If datedeb > datefin Then
msg = MsgBox("Attention la date de début est supérieur à la date de fin; Veuillez la modifier !!!", vbOKOnly, "ERREUR DE DATE")
End If
If valeurs = "APRR" Then
colonnevaleurs = "2"
ElseIf valeurs = "AXA" Then
colonnevaleurs = "3"
ElseIf valeurs = "SAGEM" Then
colonnevaleurs = "4"
ElseIf valeurs = "SANEF" Then
colonnevaleurs = "5"
ElseIf valeurs = "SNECMA" Then
colonnevaleurs = "6"
Else
colonnevaleurs = "7"
End If
----> Un 'Select Case ... End Select' est plus lisible
a = TextBox5
UserForm3.Hide
---> Après avoir caché le dialogue il est toujours en mémoire, pour vider la mémoire utiliser après Unload Userform3
b = 16 / 4 / 2005
Sheets("valeurs").Activate
Range("a4").Activate
----> Il vaut mieux utiliser la méthode Select de ces 2 objets. 'Activate' est utilisée généralement quand on selectionne plusieurs cellule et que l'on veut définir la cellule active.
---> Ton problème vient - soit du fait que le programme ne sait pas dans quelles cellules chercher: il faut donc ecrire Sheets("valeurs").Cells.Find( ....) - soit de la définition de la cellule a partir de laquelle il commence la recherche : il faut ecrire ... ,After:=Sheets("valeurs").Range("a4"), ....
Do
If ActiveCell = b Then
ActiveCell.Offset(-1, 0).Range("A1").Select
---> Aussi que veux tu faire par cette ligne ???
Exit Do
Else
ActiveCell.Offset(1, 0).Range("A1").Select
End If
Loop
val1 = Cells(datedeb, colonnevaleurs).Value
val2 = Cells(datefin, colonnevaleurs).Value
End Sub
Kamel
"Daniel Crochart" <daniel.crochart@freesbee.fr> a écrit dans le message de
news: %23XPJ4yWWFHA.3572@TK2MSFTNGP12.phx.gbl...
Bonjour , sur une feuille de cacul excel j'ai un tableau avec
horizontalement différents noms et verticalement des dates, j'aimerais
grâce
à une boite de dialogue ou je définit un nom, une date de debut et une
date
de fin, j'ai affecte une macro à un bouton pour qu'il cherche la valeur
associe au nom a la date de debut et qu'il en retranche la valeur de ce
meme
nom a la date de fin. Ce qui en soit ne paraissait pas insurmontable, mais
voilà j'ai un probleme, j'avais utilise la fonction recherche afin de
trouver la date mais lorsque je lance la macro il s'arrete en me mettant
un
message
Variable objet ou variable de bloc With non définie
Là je nage et je demande l'aide, merci d'avance
Voici ci-dessous un extrait du module
Private Sub CommandButton1_Click()
Dim valeurs, colonnevaleurs, val1, val2, a, b As Variant
Dim datdeb, datefin As Date
---> Contrairement à d'autres langages, il faut définir à coté de chaque
variable son type: Dim datdeb As Date, datefin As Date ...
valeurs = ComboBox1
datedeb = TextBox5
datefin = TextBox6
If datedeb > datefin Then
msg = MsgBox("Attention la date de début est supérieur à la date de fin;
Veuillez la modifier !!!", vbOKOnly, "ERREUR DE DATE")
End If
If valeurs = "APRR" Then
colonnevaleurs = "2"
ElseIf valeurs = "AXA" Then
colonnevaleurs = "3"
ElseIf valeurs = "SAGEM" Then
colonnevaleurs = "4"
ElseIf valeurs = "SANEF" Then
colonnevaleurs = "5"
ElseIf valeurs = "SNECMA" Then
colonnevaleurs = "6"
Else
colonnevaleurs = "7"
End If
----> Un 'Select Case ... End Select' est plus lisible
a = TextBox5
UserForm3.Hide
---> Après avoir caché le dialogue il est toujours en mémoire, pour vider la
mémoire utiliser après
Unload Userform3
b = 16 / 4 / 2005
Sheets("valeurs").Activate
Range("a4").Activate
----> Il vaut mieux utiliser la méthode Select de ces 2 objets. 'Activate'
est utilisée généralement quand on selectionne plusieurs cellule et que l'on
veut définir la cellule active.
---> Ton problème vient
- soit du fait que le programme ne sait pas dans quelles cellules chercher:
il faut donc ecrire Sheets("valeurs").Cells.Find( ....)
- soit de la définition de la cellule a partir de laquelle il commence la
recherche : il faut ecrire ... ,After:=Sheets("valeurs").Range("a4"), ....
"Daniel Crochart" a écrit dans le message de news: %
Bonjour , sur une feuille de cacul excel j'ai un tableau avec horizontalement différents noms et verticalement des dates, j'aimerais grâce à une boite de dialogue ou je définit un nom, une date de debut et une date de fin, j'ai affecte une macro à un bouton pour qu'il cherche la valeur associe au nom a la date de debut et qu'il en retranche la valeur de ce meme nom a la date de fin. Ce qui en soit ne paraissait pas insurmontable, mais voilà j'ai un probleme, j'avais utilise la fonction recherche afin de trouver la date mais lorsque je lance la macro il s'arrete en me mettant un message
Variable objet ou variable de bloc With non définie
Là je nage et je demande l'aide, merci d'avance
Voici ci-dessous un extrait du module
Private Sub CommandButton1_Click()
Dim valeurs, colonnevaleurs, val1, val2, a, b As Variant
Dim datdeb, datefin As Date
---> Contrairement à d'autres langages, il faut définir à coté de chaque variable son type: Dim datdeb As Date, datefin As Date ...
valeurs = ComboBox1
datedeb = TextBox5
datefin = TextBox6
If datedeb > datefin Then
msg = MsgBox("Attention la date de début est supérieur à la date de fin; Veuillez la modifier !!!", vbOKOnly, "ERREUR DE DATE")
End If
If valeurs = "APRR" Then
colonnevaleurs = "2"
ElseIf valeurs = "AXA" Then
colonnevaleurs = "3"
ElseIf valeurs = "SAGEM" Then
colonnevaleurs = "4"
ElseIf valeurs = "SANEF" Then
colonnevaleurs = "5"
ElseIf valeurs = "SNECMA" Then
colonnevaleurs = "6"
Else
colonnevaleurs = "7"
End If
----> Un 'Select Case ... End Select' est plus lisible
a = TextBox5
UserForm3.Hide
---> Après avoir caché le dialogue il est toujours en mémoire, pour vider la mémoire utiliser après Unload Userform3
b = 16 / 4 / 2005
Sheets("valeurs").Activate
Range("a4").Activate
----> Il vaut mieux utiliser la méthode Select de ces 2 objets. 'Activate' est utilisée généralement quand on selectionne plusieurs cellule et que l'on veut définir la cellule active.
---> Ton problème vient - soit du fait que le programme ne sait pas dans quelles cellules chercher: il faut donc ecrire Sheets("valeurs").Cells.Find( ....) - soit de la définition de la cellule a partir de laquelle il commence la recherche : il faut ecrire ... ,After:=Sheets("valeurs").Range("a4"), ....
Do
If ActiveCell = b Then
ActiveCell.Offset(-1, 0).Range("A1").Select
---> Aussi que veux tu faire par cette ligne ???
Exit Do
Else
ActiveCell.Offset(1, 0).Range("A1").Select
End If
Loop
val1 = Cells(datedeb, colonnevaleurs).Value
val2 = Cells(datefin, colonnevaleurs).Value
End Sub
Kamel
Kamel
En regardant d'un peu plus près je me rends comptes de l'erreur ....
Tu declares Dim datdeb, datefin As Date --> datdeb sans le 'e'
Et tu recherches 'datedeb' avec un 'e' ....
Bon courage ! Kamel "Daniel Crochart" a écrit dans le message de news: %
Bonjour , sur une feuille de cacul excel j'ai un tableau avec horizontalement différents noms et verticalement des dates, j'aimerais grâce à une boite de dialogue ou je définit un nom, une date de debut et une date de fin, j'ai affecte une macro à un bouton pour qu'il cherche la valeur associe au nom a la date de debut et qu'il en retranche la valeur de ce meme nom a la date de fin. Ce qui en soit ne paraissait pas insurmontable, mais voilà j'ai un probleme, j'avais utilise la fonction recherche afin de trouver la date mais lorsque je lance la macro il s'arrete en me mettant un message
En regardant d'un peu plus près je me rends comptes de l'erreur ....
Tu declares
Dim datdeb, datefin As Date --> datdeb sans le 'e'
Et tu recherches 'datedeb' avec un 'e' ....
Bon courage !
Kamel
"Daniel Crochart" <daniel.crochart@freesbee.fr> a écrit dans le message de
news: %23XPJ4yWWFHA.3572@TK2MSFTNGP12.phx.gbl...
Bonjour , sur une feuille de cacul excel j'ai un tableau avec
horizontalement différents noms et verticalement des dates, j'aimerais
grâce
à une boite de dialogue ou je définit un nom, une date de debut et une
date
de fin, j'ai affecte une macro à un bouton pour qu'il cherche la valeur
associe au nom a la date de debut et qu'il en retranche la valeur de ce
meme
nom a la date de fin. Ce qui en soit ne paraissait pas insurmontable, mais
voilà j'ai un probleme, j'avais utilise la fonction recherche afin de
trouver la date mais lorsque je lance la macro il s'arrete en me mettant
un
message
En regardant d'un peu plus près je me rends comptes de l'erreur ....
Tu declares Dim datdeb, datefin As Date --> datdeb sans le 'e'
Et tu recherches 'datedeb' avec un 'e' ....
Bon courage ! Kamel "Daniel Crochart" a écrit dans le message de news: %
Bonjour , sur une feuille de cacul excel j'ai un tableau avec horizontalement différents noms et verticalement des dates, j'aimerais grâce à une boite de dialogue ou je définit un nom, une date de debut et une date de fin, j'ai affecte une macro à un bouton pour qu'il cherche la valeur associe au nom a la date de debut et qu'il en retranche la valeur de ce meme nom a la date de fin. Ce qui en soit ne paraissait pas insurmontable, mais voilà j'ai un probleme, j'avais utilise la fonction recherche afin de trouver la date mais lorsque je lance la macro il s'arrete en me mettant un message
tu as raison, pour l'erreur,mais même ceci corriger et ton astuce prédédente ne resolve pas mon problème, par contre AV à trouver l'astuce. merci tout de même et bon lundi "Kamel" a écrit dans le message de news:
En regardant d'un peu plus près je me rends comptes de l'erreur ....
Tu declares Dim datdeb, datefin As Date --> datdeb sans le 'e'
Et tu recherches 'datedeb' avec un 'e' ....
Bon courage ! Kamel "Daniel Crochart" a écrit dans le message de news: %
Bonjour , sur une feuille de cacul excel j'ai un tableau avec horizontalement différents noms et verticalement des dates, j'aimerais grâce à une boite de dialogue ou je définit un nom, une date de debut et une date de fin, j'ai affecte une macro à un bouton pour qu'il cherche la valeur associe au nom a la date de debut et qu'il en retranche la valeur de ce meme nom a la date de fin. Ce qui en soit ne paraissait pas insurmontable, mais
voilà j'ai un probleme, j'avais utilise la fonction recherche afin de trouver la date mais lorsque je lance la macro il s'arrete en me mettant un message
tu as raison, pour l'erreur,mais même ceci corriger et ton astuce prédédente
ne resolve pas mon problème, par contre AV à trouver l'astuce.
merci tout de même et bon lundi
"Kamel" <kamel@bogoss.com> a écrit dans le message de
news:OTQiKOZWFHA.3636@TK2MSFTNGP14.phx.gbl...
En regardant d'un peu plus près je me rends comptes de l'erreur ....
Tu declares
Dim datdeb, datefin As Date --> datdeb sans le 'e'
Et tu recherches 'datedeb' avec un 'e' ....
Bon courage !
Kamel
"Daniel Crochart" <daniel.crochart@freesbee.fr> a écrit dans le message de
news: %23XPJ4yWWFHA.3572@TK2MSFTNGP12.phx.gbl...
Bonjour , sur une feuille de cacul excel j'ai un tableau avec
horizontalement différents noms et verticalement des dates, j'aimerais
grâce
à une boite de dialogue ou je définit un nom, une date de debut et une
date
de fin, j'ai affecte une macro à un bouton pour qu'il cherche la valeur
associe au nom a la date de debut et qu'il en retranche la valeur de ce
meme
nom a la date de fin. Ce qui en soit ne paraissait pas insurmontable,
mais
voilà j'ai un probleme, j'avais utilise la fonction recherche afin de
trouver la date mais lorsque je lance la macro il s'arrete en me mettant
un
message
tu as raison, pour l'erreur,mais même ceci corriger et ton astuce prédédente ne resolve pas mon problème, par contre AV à trouver l'astuce. merci tout de même et bon lundi "Kamel" a écrit dans le message de news:
En regardant d'un peu plus près je me rends comptes de l'erreur ....
Tu declares Dim datdeb, datefin As Date --> datdeb sans le 'e'
Et tu recherches 'datedeb' avec un 'e' ....
Bon courage ! Kamel "Daniel Crochart" a écrit dans le message de news: %
Bonjour , sur une feuille de cacul excel j'ai un tableau avec horizontalement différents noms et verticalement des dates, j'aimerais grâce à une boite de dialogue ou je définit un nom, une date de debut et une date de fin, j'ai affecte une macro à un bouton pour qu'il cherche la valeur associe au nom a la date de debut et qu'il en retranche la valeur de ce meme nom a la date de fin. Ce qui en soit ne paraissait pas insurmontable, mais
voilà j'ai un probleme, j'avais utilise la fonction recherche afin de trouver la date mais lorsque je lance la macro il s'arrete en me mettant un message