je suis novice sur EXCEL et voici mon probl=E8me :=20
pour une feuille de calcule servant =E0 calculer des=20
montants de voyages, j'utilise (entre autre) les distances=20
entre un certain nombre de ports. j'ai fait en sorte qu'a=20
partir des ports selectionn=E9s la distance soit calcul=E9e=20
automatiquement en fonction des distances d=E9ja entr=E9es=20
dans la table des distances.=20
La table des distances est une feuille dont la=20
premi=E8re ligne et la premi=E8re colonne sont la liste de=20
tout les ports.=20
Etant donn=E9 qu'il y a =E0 peu de choses pr=EAs 1500=20
ports, je n'ai pas le courrage de saisir toutes les=20
distances d'un coup donc, j'ai pr=E9vu une case qui me=20
permet d'entrer la distance entre chaque port de mani=E8re=20
manuelle.=20
Ce qu'il faudrait c'est que cette distance puisse=20
=EAtre automatiquement ins=E9r=E9e dans ma table des distances.=20
J'esp=E8re avoir =E9t=E9 sufisement clair. Au pire,=20
n'h=E9sitez pas a me poser des questions pour plus de=20
d=E9tails.=20
Merci d'avance =E0 tous.
NB: je n'ai malheureusement pas la possibilit=E9 d'utiliser=20
une base de donn=E9e ni m=EAme ACCESS sinon, le probl=E8me=20
aurait d=E9ja =E9t=E9 r=E9solu.=20
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
Jean-François Aubert
Salut Christophe,
une solution parmis d'autre.
une cellule nommée : dep (ou tu rentreras le port de départ) une cellule nommée : arr (ou tu rentreras le port d'arrivée) une cellule nommée : dist (ou tu rentreras la distance) liste de ports horizontale en B1:IV1 (à adapter dans le code) liste de ports verticale en A2:A65536 (à adapter dans le code)
et dans le code de la feuille:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([dist], Target) Is Nothing Then On Error Resume Next Set rngH = Range("B1:IV1") ' liste horizontale Set rngV = Range("A2:A65536") ' liste verticale rep1 = Application.Match([dep], rngH, 0) If Not IsNumeric(rep1) Then myerreur = 1: GoTo erreur col = rngH.Item(rep1).Column rep2 = Application.Match([arr], rngV, 0) If Not IsNumeric(rep2) Then myerreur = 2: GoTo erreur li = rngV.Item(rep2).Row Application.EnableEvents = False Cells(li, col) = [dist].Value Application.EnableEvents = True End If Set rngH = Nothing: Set rngV = Nothing Exit Sub erreur: Err = 0: MsgBox Range(Choose(myerreur, "dep", "arr")) & vbLf & _ "est introuvable dans" & vbLf & _ Choose(myerreur, "la liste horizontale", "la liste verticale"), vbCritical, "Erreur" End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect([dep], Target) Is Nothing Or Not Intersect([arr], Target) Is Nothing Then Application.EnableEvents = False [dist].Clear Application.EnableEvents = True End If End Sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Christophe" a écrit dans le message de news:01f101c46d6e$d22644d0$ je suis novice sur EXCEL et voici mon problème :
pour une feuille de calcule servant à calculer des montants de voyages, j'utilise (entre autre) les distances entre un certain nombre de ports. j'ai fait en sorte qu'a partir des ports selectionnés la distance soit calculée automatiquement en fonction des distances déja entrées dans la table des distances. La table des distances est une feuille dont la première ligne et la première colonne sont la liste de tout les ports. Etant donné qu'il y a à peu de choses prês 1500 ports, je n'ai pas le courrage de saisir toutes les distances d'un coup donc, j'ai prévu une case qui me permet d'entrer la distance entre chaque port de manière manuelle. Ce qu'il faudrait c'est que cette distance puisse être automatiquement insérée dans ma table des distances. J'espère avoir été sufisement clair. Au pire, n'hésitez pas a me poser des questions pour plus de détails.
Merci d'avance à tous.
NB: je n'ai malheureusement pas la possibilité d'utiliser une base de donnée ni même ACCESS sinon, le problème aurait déja été résolu.
Salut Christophe,
une solution parmis d'autre.
une cellule nommée : dep (ou tu rentreras le port de départ)
une cellule nommée : arr (ou tu rentreras le port d'arrivée)
une cellule nommée : dist (ou tu rentreras la distance)
liste de ports horizontale en B1:IV1 (à adapter dans le code)
liste de ports verticale en A2:A65536 (à adapter dans le code)
et dans le code de la feuille:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([dist], Target) Is Nothing Then
On Error Resume Next
Set rngH = Range("B1:IV1") ' liste horizontale
Set rngV = Range("A2:A65536") ' liste verticale
rep1 = Application.Match([dep], rngH, 0)
If Not IsNumeric(rep1) Then myerreur = 1: GoTo erreur
col = rngH.Item(rep1).Column
rep2 = Application.Match([arr], rngV, 0)
If Not IsNumeric(rep2) Then myerreur = 2: GoTo erreur
li = rngV.Item(rep2).Row
Application.EnableEvents = False
Cells(li, col) = [dist].Value
Application.EnableEvents = True
End If
Set rngH = Nothing: Set rngV = Nothing
Exit Sub
erreur:
Err = 0: MsgBox Range(Choose(myerreur, "dep", "arr")) & vbLf & _
"est introuvable dans" & vbLf & _
Choose(myerreur, "la liste horizontale", "la liste verticale"), vbCritical, "Erreur"
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([dep], Target) Is Nothing Or Not Intersect([arr], Target) Is Nothing Then
Application.EnableEvents = False
[dist].Clear
Application.EnableEvents = True
End If
End Sub
--
Amicalement
Jean-François Aubert
{Vaudois de la Côte Lémanique}
"Christophe" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:01f101c46d6e$d22644d0$a501280a@phx.gbl...
je suis novice sur EXCEL et voici mon problème :
pour une feuille de calcule servant à calculer des
montants de voyages, j'utilise (entre autre) les distances
entre un certain nombre de ports. j'ai fait en sorte qu'a
partir des ports selectionnés la distance soit calculée
automatiquement en fonction des distances déja entrées
dans la table des distances.
La table des distances est une feuille dont la
première ligne et la première colonne sont la liste de
tout les ports.
Etant donné qu'il y a à peu de choses prês 1500
ports, je n'ai pas le courrage de saisir toutes les
distances d'un coup donc, j'ai prévu une case qui me
permet d'entrer la distance entre chaque port de manière
manuelle.
Ce qu'il faudrait c'est que cette distance puisse
être automatiquement insérée dans ma table des distances.
J'espère avoir été sufisement clair. Au pire,
n'hésitez pas a me poser des questions pour plus de
détails.
Merci d'avance à tous.
NB: je n'ai malheureusement pas la possibilité d'utiliser
une base de donnée ni même ACCESS sinon, le problème
aurait déja été résolu.
une cellule nommée : dep (ou tu rentreras le port de départ) une cellule nommée : arr (ou tu rentreras le port d'arrivée) une cellule nommée : dist (ou tu rentreras la distance) liste de ports horizontale en B1:IV1 (à adapter dans le code) liste de ports verticale en A2:A65536 (à adapter dans le code)
et dans le code de la feuille:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([dist], Target) Is Nothing Then On Error Resume Next Set rngH = Range("B1:IV1") ' liste horizontale Set rngV = Range("A2:A65536") ' liste verticale rep1 = Application.Match([dep], rngH, 0) If Not IsNumeric(rep1) Then myerreur = 1: GoTo erreur col = rngH.Item(rep1).Column rep2 = Application.Match([arr], rngV, 0) If Not IsNumeric(rep2) Then myerreur = 2: GoTo erreur li = rngV.Item(rep2).Row Application.EnableEvents = False Cells(li, col) = [dist].Value Application.EnableEvents = True End If Set rngH = Nothing: Set rngV = Nothing Exit Sub erreur: Err = 0: MsgBox Range(Choose(myerreur, "dep", "arr")) & vbLf & _ "est introuvable dans" & vbLf & _ Choose(myerreur, "la liste horizontale", "la liste verticale"), vbCritical, "Erreur" End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect([dep], Target) Is Nothing Or Not Intersect([arr], Target) Is Nothing Then Application.EnableEvents = False [dist].Clear Application.EnableEvents = True End If End Sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Christophe" a écrit dans le message de news:01f101c46d6e$d22644d0$ je suis novice sur EXCEL et voici mon problème :
pour une feuille de calcule servant à calculer des montants de voyages, j'utilise (entre autre) les distances entre un certain nombre de ports. j'ai fait en sorte qu'a partir des ports selectionnés la distance soit calculée automatiquement en fonction des distances déja entrées dans la table des distances. La table des distances est une feuille dont la première ligne et la première colonne sont la liste de tout les ports. Etant donné qu'il y a à peu de choses prês 1500 ports, je n'ai pas le courrage de saisir toutes les distances d'un coup donc, j'ai prévu une case qui me permet d'entrer la distance entre chaque port de manière manuelle. Ce qu'il faudrait c'est que cette distance puisse être automatiquement insérée dans ma table des distances. J'espère avoir été sufisement clair. Au pire, n'hésitez pas a me poser des questions pour plus de détails.
Merci d'avance à tous.
NB: je n'ai malheureusement pas la possibilité d'utiliser une base de donnée ni même ACCESS sinon, le problème aurait déja été résolu.
Merci beaucoup de votre aide .
Christophe
-----Message d'origine----- Salut Christophe,
une solution parmis d'autre.
une cellule nommée : dep (ou tu rentreras le port de départ)
une cellule nommée : arr (ou tu rentreras le port d'arrivée)
une cellule nommée : dist (ou tu rentreras la distance) liste de ports horizontale en B1:IV1 (à adapter dans le code)
liste de ports verticale en A2:A65536 (à adapter dans le code)
et dans le code de la feuille:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([dist], Target) Is Nothing Then On Error Resume Next Set rngH = Range("B1:IV1") ' liste horizontale Set rngV = Range("A2:A65536") ' liste verticale rep1 = Application.Match([dep], rngH, 0) If Not IsNumeric(rep1) Then myerreur = 1: GoTo erreur
col = rngH.Item(rep1).Column rep2 = Application.Match([arr], rngV, 0) If Not IsNumeric(rep2) Then myerreur = 2: GoTo erreur
li = rngV.Item(rep2).Row Application.EnableEvents = False Cells(li, col) = [dist].Value Application.EnableEvents = True End If Set rngH = Nothing: Set rngV = Nothing Exit Sub erreur: Err = 0: MsgBox Range(Choose(myerreur, "dep", "arr")) & vbLf & _
"est introuvable dans" & vbLf & _ Choose(myerreur, "la liste horizontale", "la liste verticale"), vbCritical, "Erreur"
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([dep], Target) Is Nothing Or Not Intersect([arr], Target) Is Nothing Then
Application.EnableEvents = False [dist].Clear Application.EnableEvents = True End If End Sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Christophe" a écrit dans le message de
news:01f101c46d6e$d22644d0$ je suis novice sur EXCEL et voici mon problème :
pour une feuille de calcule servant à calculer des montants de voyages, j'utilise (entre autre) les distances entre un certain nombre de ports. j'ai fait en sorte qu'a partir des ports selectionnés la distance soit calculée automatiquement en fonction des distances déja entrées dans la table des distances. La table des distances est une feuille dont la première ligne et la première colonne sont la liste de tout les ports. Etant donné qu'il y a à peu de choses prês 1500 ports, je n'ai pas le courrage de saisir toutes les distances d'un coup donc, j'ai prévu une case qui me permet d'entrer la distance entre chaque port de manière manuelle. Ce qu'il faudrait c'est que cette distance puisse être automatiquement insérée dans ma table des distances. J'espère avoir été sufisement clair. Au pire, n'hésitez pas a me poser des questions pour plus de détails.
Merci d'avance à tous.
NB: je n'ai malheureusement pas la possibilité d'utiliser une base de donnée ni même ACCESS sinon, le problème aurait déja été résolu.
.
Merci beaucoup de votre aide .
Christophe
-----Message d'origine-----
Salut Christophe,
une solution parmis d'autre.
une cellule nommée : dep (ou tu rentreras le port de
départ)
une cellule nommée : arr (ou tu rentreras le port
d'arrivée)
une cellule nommée : dist (ou tu rentreras la distance)
liste de ports horizontale en B1:IV1 (à adapter dans le
code)
liste de ports verticale en A2:A65536 (à adapter dans le
code)
et dans le code de la feuille:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([dist], Target) Is Nothing Then
On Error Resume Next
Set rngH = Range("B1:IV1") ' liste horizontale
Set rngV = Range("A2:A65536") ' liste verticale
rep1 = Application.Match([dep], rngH, 0)
If Not IsNumeric(rep1) Then myerreur = 1: GoTo
erreur
col = rngH.Item(rep1).Column
rep2 = Application.Match([arr], rngV, 0)
If Not IsNumeric(rep2) Then myerreur = 2: GoTo
erreur
li = rngV.Item(rep2).Row
Application.EnableEvents = False
Cells(li, col) = [dist].Value
Application.EnableEvents = True
End If
Set rngH = Nothing: Set rngV = Nothing
Exit Sub
erreur:
Err = 0: MsgBox Range(Choose(myerreur, "dep", "arr"))
& vbLf & _
"est introuvable dans" & vbLf & _
Choose(myerreur, "la liste horizontale", "la
liste verticale"), vbCritical, "Erreur"
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
If Not Intersect([dep], Target) Is Nothing Or Not
Intersect([arr], Target) Is Nothing Then
Application.EnableEvents = False
[dist].Clear
Application.EnableEvents = True
End If
End Sub
--
Amicalement
Jean-François Aubert
{Vaudois de la Côte Lémanique}
"Christophe" <anonymous@discussions.microsoft.com> a
écrit dans le message de
news:01f101c46d6e$d22644d0$a501280a@phx.gbl...
je suis novice sur EXCEL et voici mon problème :
pour une feuille de calcule servant à calculer des
montants de voyages, j'utilise (entre autre) les distances
entre un certain nombre de ports. j'ai fait en sorte qu'a
partir des ports selectionnés la distance soit calculée
automatiquement en fonction des distances déja entrées
dans la table des distances.
La table des distances est une feuille dont la
première ligne et la première colonne sont la liste de
tout les ports.
Etant donné qu'il y a à peu de choses prês 1500
ports, je n'ai pas le courrage de saisir toutes les
distances d'un coup donc, j'ai prévu une case qui me
permet d'entrer la distance entre chaque port de manière
manuelle.
Ce qu'il faudrait c'est que cette distance puisse
être automatiquement insérée dans ma table des distances.
J'espère avoir été sufisement clair. Au pire,
n'hésitez pas a me poser des questions pour plus de
détails.
Merci d'avance à tous.
NB: je n'ai malheureusement pas la possibilité d'utiliser
une base de donnée ni même ACCESS sinon, le problème
aurait déja été résolu.
une cellule nommée : dep (ou tu rentreras le port de départ)
une cellule nommée : arr (ou tu rentreras le port d'arrivée)
une cellule nommée : dist (ou tu rentreras la distance) liste de ports horizontale en B1:IV1 (à adapter dans le code)
liste de ports verticale en A2:A65536 (à adapter dans le code)
et dans le code de la feuille:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([dist], Target) Is Nothing Then On Error Resume Next Set rngH = Range("B1:IV1") ' liste horizontale Set rngV = Range("A2:A65536") ' liste verticale rep1 = Application.Match([dep], rngH, 0) If Not IsNumeric(rep1) Then myerreur = 1: GoTo erreur
col = rngH.Item(rep1).Column rep2 = Application.Match([arr], rngV, 0) If Not IsNumeric(rep2) Then myerreur = 2: GoTo erreur
li = rngV.Item(rep2).Row Application.EnableEvents = False Cells(li, col) = [dist].Value Application.EnableEvents = True End If Set rngH = Nothing: Set rngV = Nothing Exit Sub erreur: Err = 0: MsgBox Range(Choose(myerreur, "dep", "arr")) & vbLf & _
"est introuvable dans" & vbLf & _ Choose(myerreur, "la liste horizontale", "la liste verticale"), vbCritical, "Erreur"
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([dep], Target) Is Nothing Or Not Intersect([arr], Target) Is Nothing Then
Application.EnableEvents = False [dist].Clear Application.EnableEvents = True End If End Sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Christophe" a écrit dans le message de
news:01f101c46d6e$d22644d0$ je suis novice sur EXCEL et voici mon problème :
pour une feuille de calcule servant à calculer des montants de voyages, j'utilise (entre autre) les distances entre un certain nombre de ports. j'ai fait en sorte qu'a partir des ports selectionnés la distance soit calculée automatiquement en fonction des distances déja entrées dans la table des distances. La table des distances est une feuille dont la première ligne et la première colonne sont la liste de tout les ports. Etant donné qu'il y a à peu de choses prês 1500 ports, je n'ai pas le courrage de saisir toutes les distances d'un coup donc, j'ai prévu une case qui me permet d'entrer la distance entre chaque port de manière manuelle. Ce qu'il faudrait c'est que cette distance puisse être automatiquement insérée dans ma table des distances. J'espère avoir été sufisement clair. Au pire, n'hésitez pas a me poser des questions pour plus de détails.
Merci d'avance à tous.
NB: je n'ai malheureusement pas la possibilité d'utiliser une base de donnée ni même ACCESS sinon, le problème aurait déja été résolu.