| Cela marche pour une ligne, cependant j'aimerais
| le faire en sélectionnant plusieurs lignes ?.
Sub addResrv_ip()
' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
Dim Cell As Range, Ligne As Range, Valeur
'vérifier si Selection est une plage de cellules
if typename(selection) = "Range" then
'Boucle sur chaque ligne de la sélection
For each Ligne in Selection.Rows
'Boucle sur chaque cellule de la ligne
For Each Cell In Ligne.Cells
valeur = valeur & " " & Cell.Value
' résultats intermédiaires
' msgbox valeur
Next Cell
MsgBox valeur
toexe = "cmd.exe /k" & valeur
RetVal = Shell(toexe, 1)
Next
End if
End Sub
| Cela marche pour une ligne, cependant j'aimerais
| le faire en sélectionnant plusieurs lignes ?.
Sub addResrv_ip()
' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
Dim Cell As Range, Ligne As Range, Valeur
'vérifier si Selection est une plage de cellules
if typename(selection) = "Range" then
'Boucle sur chaque ligne de la sélection
For each Ligne in Selection.Rows
'Boucle sur chaque cellule de la ligne
For Each Cell In Ligne.Cells
valeur = valeur & " " & Cell.Value
' résultats intermédiaires
' msgbox valeur
Next Cell
MsgBox valeur
toexe = "cmd.exe /k" & valeur
RetVal = Shell(toexe, 1)
Next
End if
End Sub
| Cela marche pour une ligne, cependant j'aimerais
| le faire en sélectionnant plusieurs lignes ?.
Sub addResrv_ip()
' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
Dim Cell As Range, Ligne As Range, Valeur
'vérifier si Selection est une plage de cellules
if typename(selection) = "Range" then
'Boucle sur chaque ligne de la sélection
For each Ligne in Selection.Rows
'Boucle sur chaque cellule de la ligne
For Each Cell In Ligne.Cells
valeur = valeur & " " & Cell.Value
' résultats intermédiaires
' msgbox valeur
Next Cell
MsgBox valeur
toexe = "cmd.exe /k" & valeur
RetVal = Shell(toexe, 1)
Next
End if
End Sub
Effectivement, après chaque boucle il faut vider le contenu
de la variable Valeur. Pour ce faire, tu attribues "" à Valeur
Valeur = "" correction apportée dans la procédure.
Pour copier la commande dans la fenêtre Cmd... si tu
trouves comment faire, j'espère que tu partageras ici ta découverte.
Si tu ne veux pas avoir plusieurs fenêtre Dos ouverte, modifie ces lignes
de code dans la procédure.
toexe = "cmd.exe /k" & valeur
RetVal = Shell(toexe, 1)
Par
toexe = "cmd.exe /c " & valeur
RetVal = Shell(toexe, vbHide)
Tu ne verras rien !
'--------------------------------
Sub addResrv_ip()
' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
Dim Cell As Range, Ligne As Range, Valeur
'vérifier si Selection est une plage de cellules
if typename(selection) = "Range" then
'Boucle sur chaque ligne de la sélection
For each Ligne in Selection.Rows
'Boucle sur chaque cellule de la ligne
For Each Cell In Ligne.Cells
valeur = valeur & " " & Cell.Value
' résultats intermédiaires
' msgbox valeur
Next Cell
MsgBox valeur
toexe = "cmd.exe /k" & valeur
RetVal = Shell(toexe, 1)
Valeur = ""
Next
End if
End Sub
'--------------------------------
"ben" a écrit dans le message de groupe de discussion :
Bonjour,
J'ai fais le test sur 2 ligne2.
La premier ligne est bien exécuter.
Cependant à la 2ème il additionne la première, et là c'est pas bon...
Aussi il ouvre une fénêtre dos par ligne, c'est pas possible d'avoir tous le
traitement sur une seule fenêtre ?.
Je me disais c'était pas mieux de faire un copie des cellules et lignes et
de les coller dans le cmd, car manuellement il traite ligne par ligne :
Ex:Je n'ai pas encore trouvé comment faire un coller dans cmd (DOS)
*********************
Sub addResrv_ip3()
' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
' " " = espace
' pour additionner des nombres mettre + au lieu &
Dim Cell As Range
Dim Valeur
Dim rngCell As Range
For Each rngCell In Selection.Cells
Selection.Copy
'paste >
Next rngCell
'toexe = "cmd.exe /k " & Paste....????? Syntaxe ou commande
coller ?.
'RetVal = Shell(toexe, 1)
End Sub
*********************************
"michdenis" wrote:
>
>
> | Cela marche pour une ligne, cependant j'aimerais
> | le faire en sélectionnant plusieurs lignes ?.
>
> Sub addResrv_ip()
> ' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
> Dim Cell As Range, Ligne As Range, Valeur
>
> 'vérifier si Selection est une plage de cellules
> if typename(selection) = "Range" then
> 'Boucle sur chaque ligne de la sélection
> For each Ligne in Selection.Rows
> 'Boucle sur chaque cellule de la ligne
> For Each Cell In Ligne.Cells
> valeur = valeur & " " & Cell.Value
> ' résultats intermédiaires
> ' msgbox valeur
> Next Cell
> MsgBox valeur
> toexe = "cmd.exe /k" & valeur
> RetVal = Shell(toexe, 1)
> Next
> End if
>
> End Sub
>
>
>
>
Effectivement, après chaque boucle il faut vider le contenu
de la variable Valeur. Pour ce faire, tu attribues "" à Valeur
Valeur = "" correction apportée dans la procédure.
Pour copier la commande dans la fenêtre Cmd... si tu
trouves comment faire, j'espère que tu partageras ici ta découverte.
Si tu ne veux pas avoir plusieurs fenêtre Dos ouverte, modifie ces lignes
de code dans la procédure.
toexe = "cmd.exe /k" & valeur
RetVal = Shell(toexe, 1)
Par
toexe = "cmd.exe /c " & valeur
RetVal = Shell(toexe, vbHide)
Tu ne verras rien !
'--------------------------------
Sub addResrv_ip()
' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
Dim Cell As Range, Ligne As Range, Valeur
'vérifier si Selection est une plage de cellules
if typename(selection) = "Range" then
'Boucle sur chaque ligne de la sélection
For each Ligne in Selection.Rows
'Boucle sur chaque cellule de la ligne
For Each Cell In Ligne.Cells
valeur = valeur & " " & Cell.Value
' résultats intermédiaires
' msgbox valeur
Next Cell
MsgBox valeur
toexe = "cmd.exe /k" & valeur
RetVal = Shell(toexe, 1)
Valeur = ""
Next
End if
End Sub
'--------------------------------
"ben" <ben@discussions.microsoft.com> a écrit dans le message de groupe de discussion :
95A84FAA-8512-4DCA-9F3B-4092E5237C51@microsoft.com...
Bonjour,
J'ai fais le test sur 2 ligne2.
La premier ligne est bien exécuter.
Cependant à la 2ème il additionne la première, et là c'est pas bon...
Aussi il ouvre une fénêtre dos par ligne, c'est pas possible d'avoir tous le
traitement sur une seule fenêtre ?.
Je me disais c'était pas mieux de faire un copie des cellules et lignes et
de les coller dans le cmd, car manuellement il traite ligne par ligne :
Ex:Je n'ai pas encore trouvé comment faire un coller dans cmd (DOS)
*********************
Sub addResrv_ip3()
' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
' " " = espace
' pour additionner des nombres mettre + au lieu &
Dim Cell As Range
Dim Valeur
Dim rngCell As Range
For Each rngCell In Selection.Cells
Selection.Copy
'paste >
Next rngCell
'toexe = "cmd.exe /k " & Paste....????? Syntaxe ou commande
coller ?.
'RetVal = Shell(toexe, 1)
End Sub
*********************************
"michdenis" wrote:
>
>
> | Cela marche pour une ligne, cependant j'aimerais
> | le faire en sélectionnant plusieurs lignes ?.
>
> Sub addResrv_ip()
> ' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
> Dim Cell As Range, Ligne As Range, Valeur
>
> 'vérifier si Selection est une plage de cellules
> if typename(selection) = "Range" then
> 'Boucle sur chaque ligne de la sélection
> For each Ligne in Selection.Rows
> 'Boucle sur chaque cellule de la ligne
> For Each Cell In Ligne.Cells
> valeur = valeur & " " & Cell.Value
> ' résultats intermédiaires
> ' msgbox valeur
> Next Cell
> MsgBox valeur
> toexe = "cmd.exe /k" & valeur
> RetVal = Shell(toexe, 1)
> Next
> End if
>
> End Sub
>
>
>
>
Effectivement, après chaque boucle il faut vider le contenu
de la variable Valeur. Pour ce faire, tu attribues "" à Valeur
Valeur = "" correction apportée dans la procédure.
Pour copier la commande dans la fenêtre Cmd... si tu
trouves comment faire, j'espère que tu partageras ici ta découverte.
Si tu ne veux pas avoir plusieurs fenêtre Dos ouverte, modifie ces lignes
de code dans la procédure.
toexe = "cmd.exe /k" & valeur
RetVal = Shell(toexe, 1)
Par
toexe = "cmd.exe /c " & valeur
RetVal = Shell(toexe, vbHide)
Tu ne verras rien !
'--------------------------------
Sub addResrv_ip()
' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
Dim Cell As Range, Ligne As Range, Valeur
'vérifier si Selection est une plage de cellules
if typename(selection) = "Range" then
'Boucle sur chaque ligne de la sélection
For each Ligne in Selection.Rows
'Boucle sur chaque cellule de la ligne
For Each Cell In Ligne.Cells
valeur = valeur & " " & Cell.Value
' résultats intermédiaires
' msgbox valeur
Next Cell
MsgBox valeur
toexe = "cmd.exe /k" & valeur
RetVal = Shell(toexe, 1)
Valeur = ""
Next
End if
End Sub
'--------------------------------
"ben" a écrit dans le message de groupe de discussion :
Bonjour,
J'ai fais le test sur 2 ligne2.
La premier ligne est bien exécuter.
Cependant à la 2ème il additionne la première, et là c'est pas bon...
Aussi il ouvre une fénêtre dos par ligne, c'est pas possible d'avoir tous le
traitement sur une seule fenêtre ?.
Je me disais c'était pas mieux de faire un copie des cellules et lignes et
de les coller dans le cmd, car manuellement il traite ligne par ligne :
Ex:Je n'ai pas encore trouvé comment faire un coller dans cmd (DOS)
*********************
Sub addResrv_ip3()
' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
' " " = espace
' pour additionner des nombres mettre + au lieu &
Dim Cell As Range
Dim Valeur
Dim rngCell As Range
For Each rngCell In Selection.Cells
Selection.Copy
'paste >
Next rngCell
'toexe = "cmd.exe /k " & Paste....????? Syntaxe ou commande
coller ?.
'RetVal = Shell(toexe, 1)
End Sub
*********************************
"michdenis" wrote:
>
>
> | Cela marche pour une ligne, cependant j'aimerais
> | le faire en sélectionnant plusieurs lignes ?.
>
> Sub addResrv_ip()
> ' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
> Dim Cell As Range, Ligne As Range, Valeur
>
> 'vérifier si Selection est une plage de cellules
> if typename(selection) = "Range" then
> 'Boucle sur chaque ligne de la sélection
> For each Ligne in Selection.Rows
> 'Boucle sur chaque cellule de la ligne
> For Each Cell In Ligne.Cells
> valeur = valeur & " " & Cell.Value
> ' résultats intermédiaires
> ' msgbox valeur
> Next Cell
> MsgBox valeur
> toexe = "cmd.exe /k" & valeur
> RetVal = Shell(toexe, 1)
> Next
> End if
>
> End Sub
>
>
>
>
Effectivement, après chaque boucle il faut vider le contenu
de la variable Valeur. Pour ce faire, tu attribues "" à Valeur
Valeur = "" correction apportée dans la procédure.
Pour copier la commande dans la fenêtre Cmd... si tu
trouves comment faire, j'espère que tu partageras ici ta découverte.
Si tu ne veux pas avoir plusieurs fenêtre Dos ouverte, modifie ces lignes
de code dans la procédure.
toexe = "cmd.exe /k" & valeur
RetVal = Shell(toexe, 1)
Par
toexe = "cmd.exe /c " & valeur
RetVal = Shell(toexe, vbHide)
Tu ne verras rien !
'--------------------------------
Sub addResrv_ip()
' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
Dim Cell As Range, Ligne As Range, Valeur
'vérifier si Selection est une plage de cellules
if typename(selection) = "Range" then
'Boucle sur chaque ligne de la sélection
For each Ligne in Selection.Rows
'Boucle sur chaque cellule de la ligne
For Each Cell In Ligne.Cells
valeur = valeur & " " & Cell.Value
' résultats intermédiaires
' msgbox valeur
Next Cell
MsgBox valeur
toexe = "cmd.exe /k" & valeur
RetVal = Shell(toexe, 1)
Valeur = ""
Next
End if
End Sub
'--------------------------------
"ben" a écrit dans le message de groupe de discussion :
Bonjour,
J'ai fais le test sur 2 ligne2.
La premier ligne est bien exécuter.
Cependant à la 2ème il additionne la première, et là c'est pas bon...
Aussi il ouvre une fénêtre dos par ligne, c'est pas possible d'avoir tous le
traitement sur une seule fenêtre ?.
Je me disais c'était pas mieux de faire un copie des cellules et lignes et
de les coller dans le cmd, car manuellement il traite ligne par ligne :
Ex:Je n'ai pas encore trouvé comment faire un coller dans cmd (DOS)
*********************
Sub addResrv_ip3()
' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
' " " = espace
' pour additionner des nombres mettre + au lieu &
Dim Cell As Range
Dim Valeur
Dim rngCell As Range
For Each rngCell In Selection.Cells
Selection.Copy
'paste >
Next rngCell
'toexe = "cmd.exe /k " & Paste....????? Syntaxe ou commande
coller ?.
'RetVal = Shell(toexe, 1)
End Sub
*********************************
"michdenis" wrote:
>
>
> | Cela marche pour une ligne, cependant j'aimerais
> | le faire en sélectionnant plusieurs lignes ?.
>
> Sub addResrv_ip()
> ' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
> Dim Cell As Range, Ligne As Range, Valeur
>
> 'vérifier si Selection est une plage de cellules
> if typename(selection) = "Range" then
> 'Boucle sur chaque ligne de la sélection
> For each Ligne in Selection.Rows
> 'Boucle sur chaque cellule de la ligne
> For Each Cell In Ligne.Cells
> valeur = valeur & " " & Cell.Value
> ' résultats intermédiaires
> ' msgbox valeur
> Next Cell
> MsgBox valeur
> toexe = "cmd.exe /k" & valeur
> RetVal = Shell(toexe, 1)
> Next
> End if
>
> End Sub
>
>
>
>
Effectivement, après chaque boucle il faut vider le contenu
de la variable Valeur. Pour ce faire, tu attribues "" à Valeur
Valeur = "" correction apportée dans la procédure.
Pour copier la commande dans la fenêtre Cmd... si tu
trouves comment faire, j'espère que tu partageras ici ta découverte.
Si tu ne veux pas avoir plusieurs fenêtre Dos ouverte, modifie ces lignes
de code dans la procédure.
toexe = "cmd.exe /k" & valeur
RetVal = Shell(toexe, 1)
Par
toexe = "cmd.exe /c " & valeur
RetVal = Shell(toexe, vbHide)
Tu ne verras rien !
'--------------------------------
Sub addResrv_ip()
' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
Dim Cell As Range, Ligne As Range, Valeur
'vérifier si Selection est une plage de cellules
if typename(selection) = "Range" then
'Boucle sur chaque ligne de la sélection
For each Ligne in Selection.Rows
'Boucle sur chaque cellule de la ligne
For Each Cell In Ligne.Cells
valeur = valeur & " " & Cell.Value
' résultats intermédiaires
' msgbox valeur
Next Cell
MsgBox valeur
toexe = "cmd.exe /k" & valeur
RetVal = Shell(toexe, 1)
Valeur = ""
Next
End if
End Sub
'--------------------------------
"ben" <ben@discussions.microsoft.com> a écrit dans le message de groupe de discussion :
95A84FAA-8512-4DCA-9F3B-4092E5237C51@microsoft.com...
Bonjour,
J'ai fais le test sur 2 ligne2.
La premier ligne est bien exécuter.
Cependant à la 2ème il additionne la première, et là c'est pas bon...
Aussi il ouvre une fénêtre dos par ligne, c'est pas possible d'avoir tous le
traitement sur une seule fenêtre ?.
Je me disais c'était pas mieux de faire un copie des cellules et lignes et
de les coller dans le cmd, car manuellement il traite ligne par ligne :
Ex:Je n'ai pas encore trouvé comment faire un coller dans cmd (DOS)
*********************
Sub addResrv_ip3()
' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
' " " = espace
' pour additionner des nombres mettre + au lieu &
Dim Cell As Range
Dim Valeur
Dim rngCell As Range
For Each rngCell In Selection.Cells
Selection.Copy
'paste >
Next rngCell
'toexe = "cmd.exe /k " & Paste....????? Syntaxe ou commande
coller ?.
'RetVal = Shell(toexe, 1)
End Sub
*********************************
"michdenis" wrote:
>
>
> | Cela marche pour une ligne, cependant j'aimerais
> | le faire en sélectionnant plusieurs lignes ?.
>
> Sub addResrv_ip()
> ' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
> Dim Cell As Range, Ligne As Range, Valeur
>
> 'vérifier si Selection est une plage de cellules
> if typename(selection) = "Range" then
> 'Boucle sur chaque ligne de la sélection
> For each Ligne in Selection.Rows
> 'Boucle sur chaque cellule de la ligne
> For Each Cell In Ligne.Cells
> valeur = valeur & " " & Cell.Value
> ' résultats intermédiaires
> ' msgbox valeur
> Next Cell
> MsgBox valeur
> toexe = "cmd.exe /k" & valeur
> RetVal = Shell(toexe, 1)
> Next
> End if
>
> End Sub
>
>
>
>
Effectivement, après chaque boucle il faut vider le contenu
de la variable Valeur. Pour ce faire, tu attribues "" à Valeur
Valeur = "" correction apportée dans la procédure.
Pour copier la commande dans la fenêtre Cmd... si tu
trouves comment faire, j'espère que tu partageras ici ta découverte.
Si tu ne veux pas avoir plusieurs fenêtre Dos ouverte, modifie ces lignes
de code dans la procédure.
toexe = "cmd.exe /k" & valeur
RetVal = Shell(toexe, 1)
Par
toexe = "cmd.exe /c " & valeur
RetVal = Shell(toexe, vbHide)
Tu ne verras rien !
'--------------------------------
Sub addResrv_ip()
' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
Dim Cell As Range, Ligne As Range, Valeur
'vérifier si Selection est une plage de cellules
if typename(selection) = "Range" then
'Boucle sur chaque ligne de la sélection
For each Ligne in Selection.Rows
'Boucle sur chaque cellule de la ligne
For Each Cell In Ligne.Cells
valeur = valeur & " " & Cell.Value
' résultats intermédiaires
' msgbox valeur
Next Cell
MsgBox valeur
toexe = "cmd.exe /k" & valeur
RetVal = Shell(toexe, 1)
Valeur = ""
Next
End if
End Sub
'--------------------------------
"ben" a écrit dans le message de groupe de discussion :
Bonjour,
J'ai fais le test sur 2 ligne2.
La premier ligne est bien exécuter.
Cependant à la 2ème il additionne la première, et là c'est pas bon...
Aussi il ouvre une fénêtre dos par ligne, c'est pas possible d'avoir tous le
traitement sur une seule fenêtre ?.
Je me disais c'était pas mieux de faire un copie des cellules et lignes et
de les coller dans le cmd, car manuellement il traite ligne par ligne :
Ex:Je n'ai pas encore trouvé comment faire un coller dans cmd (DOS)
*********************
Sub addResrv_ip3()
' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
' " " = espace
' pour additionner des nombres mettre + au lieu &
Dim Cell As Range
Dim Valeur
Dim rngCell As Range
For Each rngCell In Selection.Cells
Selection.Copy
'paste >
Next rngCell
'toexe = "cmd.exe /k " & Paste....????? Syntaxe ou commande
coller ?.
'RetVal = Shell(toexe, 1)
End Sub
*********************************
"michdenis" wrote:
>
>
> | Cela marche pour une ligne, cependant j'aimerais
> | le faire en sélectionnant plusieurs lignes ?.
>
> Sub addResrv_ip()
> ' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
> Dim Cell As Range, Ligne As Range, Valeur
>
> 'vérifier si Selection est une plage de cellules
> if typename(selection) = "Range" then
> 'Boucle sur chaque ligne de la sélection
> For each Ligne in Selection.Rows
> 'Boucle sur chaque cellule de la ligne
> For Each Cell In Ligne.Cells
> valeur = valeur & " " & Cell.Value
> ' résultats intermédiaires
> ' msgbox valeur
> Next Cell
> MsgBox valeur
> toexe = "cmd.exe /k" & valeur
> RetVal = Shell(toexe, 1)
> Next
> End if
>
> End Sub
>
>
>
>
Non mais tu peux afficher le résultat dans un fichier texte
pour consultation future.
Un fichier texte par exécution de la commande.
Dans la procédure : le fichier est à la racine de c:denis. x .txt
'-------------------------------------
Sub addResrv_ip()
' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
Dim Cell As Range, Ligne As Range, Valeur, A As Integer
'vérifier si Selection est une plage de cellules
If TypeName(Selection) = "Range" Then
'Boucle sur chaque ligne de la sélection
For Each Ligne In Selection.Rows
'Boucle sur chaque cellule de la ligne
For Each Cell In Ligne.Cells
Valeur = Valeur & " " & Cell.Value
' résultats intermédiaires
' msgbox valeur
Next Cell
MsgBox Valeur
A = A + 1
toexe = "cmd.exe /c" & Valeur & "C:>Denis" & A & ".txt"
RetVal = Shell(toexe, vbHide)
Valeur = ""
Next
End If
End Sub
'-------------------------------------
"ben" a écrit dans le message de groupe de discussion :
Bonjour,
Il faut que je laisse la fenêtre dos visibles afin que je vois le résultats.
A moins qu'il y a un moyen d'afficher le résultat via une msg box ?.
Concernant le coller dans dos, il faut trouver l'astuce pour récupérer les
données du presse-papier ?.
Merci.
Cordialement.
"michdenis" wrote:
> Effectivement, après chaque boucle il faut vider le contenu
> de la variable Valeur. Pour ce faire, tu attribues "" à Valeur
> Valeur = "" correction apportée dans la procédure.
>
> Pour copier la commande dans la fenêtre Cmd... si tu
> trouves comment faire, j'espère que tu partageras ici ta découverte.
>
> Si tu ne veux pas avoir plusieurs fenêtre Dos ouverte, modifie ces lignes
> de code dans la procédure.
> toexe = "cmd.exe /k" & valeur
> RetVal = Shell(toexe, 1)
> Par
> toexe = "cmd.exe /c " & valeur
> RetVal = Shell(toexe, vbHide)
> Tu ne verras rien !
>
> '--------------------------------
> Sub addResrv_ip()
> ' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
> Dim Cell As Range, Ligne As Range, Valeur
>
> 'vérifier si Selection est une plage de cellules
> if typename(selection) = "Range" then
> 'Boucle sur chaque ligne de la sélection
> For each Ligne in Selection.Rows
> 'Boucle sur chaque cellule de la ligne
> For Each Cell In Ligne.Cells
> valeur = valeur & " " & Cell.Value
> ' résultats intermédiaires
> ' msgbox valeur
> Next Cell
> MsgBox valeur
> toexe = "cmd.exe /k" & valeur
> RetVal = Shell(toexe, 1)
> Valeur = ""
> Next
> End if
> End Sub
> '--------------------------------
>
>
>
>
> "ben" a écrit dans le message de groupe de discussion :
>
> Bonjour,
>
> J'ai fais le test sur 2 ligne2.
> La premier ligne est bien exécuter.
> Cependant à la 2ème il additionne la première, et là c'est pas bon...
>
> Aussi il ouvre une fénêtre dos par ligne, c'est pas possible d'avoir tous le
> traitement sur une seule fenêtre ?.
>
> Je me disais c'était pas mieux de faire un copie des cellules et lignes et
> de les coller dans le cmd, car manuellement il traite ligne par ligne :
> Ex:Je n'ai pas encore trouvé comment faire un coller dans cmd (DOS)
> *********************
> Sub addResrv_ip3()
> ' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
> ' " " = espace
> ' pour additionner des nombres mettre + au lieu &
> Dim Cell As Range
> Dim Valeur
> Dim rngCell As Range
>
> For Each rngCell In Selection.Cells
> Selection.Copy
> 'paste > >
> Next rngCell
> 'toexe = "cmd.exe /k " & Paste....????? Syntaxe ou commande
> coller ?.
> 'RetVal = Shell(toexe, 1)
>
> End Sub
> *********************************
> "michdenis" wrote:
>
> >
> >
> > | Cela marche pour une ligne, cependant j'aimerais
> > | le faire en sélectionnant plusieurs lignes ?.
> >
> > Sub addResrv_ip()
> > ' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
> > Dim Cell As Range, Ligne As Range, Valeur
> >
> > 'vérifier si Selection est une plage de cellules
> > if typename(selection) = "Range" then
> > 'Boucle sur chaque ligne de la sélection
> > For each Ligne in Selection.Rows
> > 'Boucle sur chaque cellule de la ligne
> > For Each Cell In Ligne.Cells
> > valeur = valeur & " " & Cell.Value
> > ' résultats intermédiaires
> > ' msgbox valeur
> > Next Cell
> > MsgBox valeur
> > toexe = "cmd.exe /k" & valeur
> > RetVal = Shell(toexe, 1)
> > Next
> > End if
> >
> > End Sub
> >
> >
> >
> >
Non mais tu peux afficher le résultat dans un fichier texte
pour consultation future.
Un fichier texte par exécution de la commande.
Dans la procédure : le fichier est à la racine de c:denis. x .txt
'-------------------------------------
Sub addResrv_ip()
' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
Dim Cell As Range, Ligne As Range, Valeur, A As Integer
'vérifier si Selection est une plage de cellules
If TypeName(Selection) = "Range" Then
'Boucle sur chaque ligne de la sélection
For Each Ligne In Selection.Rows
'Boucle sur chaque cellule de la ligne
For Each Cell In Ligne.Cells
Valeur = Valeur & " " & Cell.Value
' résultats intermédiaires
' msgbox valeur
Next Cell
MsgBox Valeur
A = A + 1
toexe = "cmd.exe /c" & Valeur & "C:>Denis" & A & ".txt"
RetVal = Shell(toexe, vbHide)
Valeur = ""
Next
End If
End Sub
'-------------------------------------
"ben" <ben@discussions.microsoft.com> a écrit dans le message de groupe de discussion :
F7EF0497-42D2-49E6-8564-C8FB3C02BA28@microsoft.com...
Bonjour,
Il faut que je laisse la fenêtre dos visibles afin que je vois le résultats.
A moins qu'il y a un moyen d'afficher le résultat via une msg box ?.
Concernant le coller dans dos, il faut trouver l'astuce pour récupérer les
données du presse-papier ?.
Merci.
Cordialement.
"michdenis" wrote:
> Effectivement, après chaque boucle il faut vider le contenu
> de la variable Valeur. Pour ce faire, tu attribues "" à Valeur
> Valeur = "" correction apportée dans la procédure.
>
> Pour copier la commande dans la fenêtre Cmd... si tu
> trouves comment faire, j'espère que tu partageras ici ta découverte.
>
> Si tu ne veux pas avoir plusieurs fenêtre Dos ouverte, modifie ces lignes
> de code dans la procédure.
> toexe = "cmd.exe /k" & valeur
> RetVal = Shell(toexe, 1)
> Par
> toexe = "cmd.exe /c " & valeur
> RetVal = Shell(toexe, vbHide)
> Tu ne verras rien !
>
> '--------------------------------
> Sub addResrv_ip()
> ' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
> Dim Cell As Range, Ligne As Range, Valeur
>
> 'vérifier si Selection est une plage de cellules
> if typename(selection) = "Range" then
> 'Boucle sur chaque ligne de la sélection
> For each Ligne in Selection.Rows
> 'Boucle sur chaque cellule de la ligne
> For Each Cell In Ligne.Cells
> valeur = valeur & " " & Cell.Value
> ' résultats intermédiaires
> ' msgbox valeur
> Next Cell
> MsgBox valeur
> toexe = "cmd.exe /k" & valeur
> RetVal = Shell(toexe, 1)
> Valeur = ""
> Next
> End if
> End Sub
> '--------------------------------
>
>
>
>
> "ben" <ben@discussions.microsoft.com> a écrit dans le message de groupe de discussion :
> 95A84FAA-8512-4DCA-9F3B-4092E5237C51@microsoft.com...
> Bonjour,
>
> J'ai fais le test sur 2 ligne2.
> La premier ligne est bien exécuter.
> Cependant à la 2ème il additionne la première, et là c'est pas bon...
>
> Aussi il ouvre une fénêtre dos par ligne, c'est pas possible d'avoir tous le
> traitement sur une seule fenêtre ?.
>
> Je me disais c'était pas mieux de faire un copie des cellules et lignes et
> de les coller dans le cmd, car manuellement il traite ligne par ligne :
> Ex:Je n'ai pas encore trouvé comment faire un coller dans cmd (DOS)
> *********************
> Sub addResrv_ip3()
> ' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
> ' " " = espace
> ' pour additionner des nombres mettre + au lieu &
> Dim Cell As Range
> Dim Valeur
> Dim rngCell As Range
>
> For Each rngCell In Selection.Cells
> Selection.Copy
> 'paste > >
> Next rngCell
> 'toexe = "cmd.exe /k " & Paste....????? Syntaxe ou commande
> coller ?.
> 'RetVal = Shell(toexe, 1)
>
> End Sub
> *********************************
> "michdenis" wrote:
>
> >
> >
> > | Cela marche pour une ligne, cependant j'aimerais
> > | le faire en sélectionnant plusieurs lignes ?.
> >
> > Sub addResrv_ip()
> > ' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
> > Dim Cell As Range, Ligne As Range, Valeur
> >
> > 'vérifier si Selection est une plage de cellules
> > if typename(selection) = "Range" then
> > 'Boucle sur chaque ligne de la sélection
> > For each Ligne in Selection.Rows
> > 'Boucle sur chaque cellule de la ligne
> > For Each Cell In Ligne.Cells
> > valeur = valeur & " " & Cell.Value
> > ' résultats intermédiaires
> > ' msgbox valeur
> > Next Cell
> > MsgBox valeur
> > toexe = "cmd.exe /k" & valeur
> > RetVal = Shell(toexe, 1)
> > Next
> > End if
> >
> > End Sub
> >
> >
> >
> >
Non mais tu peux afficher le résultat dans un fichier texte
pour consultation future.
Un fichier texte par exécution de la commande.
Dans la procédure : le fichier est à la racine de c:denis. x .txt
'-------------------------------------
Sub addResrv_ip()
' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
Dim Cell As Range, Ligne As Range, Valeur, A As Integer
'vérifier si Selection est une plage de cellules
If TypeName(Selection) = "Range" Then
'Boucle sur chaque ligne de la sélection
For Each Ligne In Selection.Rows
'Boucle sur chaque cellule de la ligne
For Each Cell In Ligne.Cells
Valeur = Valeur & " " & Cell.Value
' résultats intermédiaires
' msgbox valeur
Next Cell
MsgBox Valeur
A = A + 1
toexe = "cmd.exe /c" & Valeur & "C:>Denis" & A & ".txt"
RetVal = Shell(toexe, vbHide)
Valeur = ""
Next
End If
End Sub
'-------------------------------------
"ben" a écrit dans le message de groupe de discussion :
Bonjour,
Il faut que je laisse la fenêtre dos visibles afin que je vois le résultats.
A moins qu'il y a un moyen d'afficher le résultat via une msg box ?.
Concernant le coller dans dos, il faut trouver l'astuce pour récupérer les
données du presse-papier ?.
Merci.
Cordialement.
"michdenis" wrote:
> Effectivement, après chaque boucle il faut vider le contenu
> de la variable Valeur. Pour ce faire, tu attribues "" à Valeur
> Valeur = "" correction apportée dans la procédure.
>
> Pour copier la commande dans la fenêtre Cmd... si tu
> trouves comment faire, j'espère que tu partageras ici ta découverte.
>
> Si tu ne veux pas avoir plusieurs fenêtre Dos ouverte, modifie ces lignes
> de code dans la procédure.
> toexe = "cmd.exe /k" & valeur
> RetVal = Shell(toexe, 1)
> Par
> toexe = "cmd.exe /c " & valeur
> RetVal = Shell(toexe, vbHide)
> Tu ne verras rien !
>
> '--------------------------------
> Sub addResrv_ip()
> ' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
> Dim Cell As Range, Ligne As Range, Valeur
>
> 'vérifier si Selection est une plage de cellules
> if typename(selection) = "Range" then
> 'Boucle sur chaque ligne de la sélection
> For each Ligne in Selection.Rows
> 'Boucle sur chaque cellule de la ligne
> For Each Cell In Ligne.Cells
> valeur = valeur & " " & Cell.Value
> ' résultats intermédiaires
> ' msgbox valeur
> Next Cell
> MsgBox valeur
> toexe = "cmd.exe /k" & valeur
> RetVal = Shell(toexe, 1)
> Valeur = ""
> Next
> End if
> End Sub
> '--------------------------------
>
>
>
>
> "ben" a écrit dans le message de groupe de discussion :
>
> Bonjour,
>
> J'ai fais le test sur 2 ligne2.
> La premier ligne est bien exécuter.
> Cependant à la 2ème il additionne la première, et là c'est pas bon...
>
> Aussi il ouvre une fénêtre dos par ligne, c'est pas possible d'avoir tous le
> traitement sur une seule fenêtre ?.
>
> Je me disais c'était pas mieux de faire un copie des cellules et lignes et
> de les coller dans le cmd, car manuellement il traite ligne par ligne :
> Ex:Je n'ai pas encore trouvé comment faire un coller dans cmd (DOS)
> *********************
> Sub addResrv_ip3()
> ' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
> ' " " = espace
> ' pour additionner des nombres mettre + au lieu &
> Dim Cell As Range
> Dim Valeur
> Dim rngCell As Range
>
> For Each rngCell In Selection.Cells
> Selection.Copy
> 'paste > >
> Next rngCell
> 'toexe = "cmd.exe /k " & Paste....????? Syntaxe ou commande
> coller ?.
> 'RetVal = Shell(toexe, 1)
>
> End Sub
> *********************************
> "michdenis" wrote:
>
> >
> >
> > | Cela marche pour une ligne, cependant j'aimerais
> > | le faire en sélectionnant plusieurs lignes ?.
> >
> > Sub addResrv_ip()
> > ' il faut sélectionner plusieurs valeurs de la ligne 5 et/ou 6
> > Dim Cell As Range, Ligne As Range, Valeur
> >
> > 'vérifier si Selection est une plage de cellules
> > if typename(selection) = "Range" then
> > 'Boucle sur chaque ligne de la sélection
> > For each Ligne in Selection.Rows
> > 'Boucle sur chaque cellule de la ligne
> > For Each Cell In Ligne.Cells
> > valeur = valeur & " " & Cell.Value
> > ' résultats intermédiaires
> > ' msgbox valeur
> > Next Cell
> > MsgBox valeur
> > toexe = "cmd.exe /k" & valeur
> > RetVal = Shell(toexe, 1)
> > Next
> > End if
> >
> > End Sub
> >
> >
> >
> >