Selection de ligne dans tableau.
Résolu/Fermé
jen_peplu
Messages postés
33
Date d'inscription
samedi 4 décembre 2010
Statut
Membre
Dernière intervention
25 mars 2012
-
28 avril 2011 à 17:32
jen_peplu Messages postés 33 Date d'inscription samedi 4 décembre 2010 Statut Membre Dernière intervention 25 mars 2012 - 29 avril 2011 à 17:55
jen_peplu Messages postés 33 Date d'inscription samedi 4 décembre 2010 Statut Membre Dernière intervention 25 mars 2012 - 29 avril 2011 à 17:55
A voir également:
- Selection de ligne dans tableau.
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Site de vente en ligne particulier - Guide
- Partage de photos en ligne - Guide
8 réponses
charly_rom
Messages postés
541
Date d'inscription
mercredi 28 novembre 2007
Statut
Membre
Dernière intervention
27 janvier 2024
102
28 avril 2011 à 17:42
28 avril 2011 à 17:42
=T1-SOMME(A1:Q1)
ensuite tu selectionne la cellule et ds l'encadrement en bas a droite de cette cellule, tu as un point, tu clique dessus et tu descent jusqu'a la derniere ligne et excel se charge de remplacer les 1 par les numero de ligne correspondant
ensuite tu selectionne la cellule et ds l'encadrement en bas a droite de cette cellule, tu as un point, tu clique dessus et tu descent jusqu'a la derniere ligne et excel se charge de remplacer les 1 par les numero de ligne correspondant
jen_peplu
Messages postés
33
Date d'inscription
samedi 4 décembre 2010
Statut
Membre
Dernière intervention
25 mars 2012
28 avril 2011 à 20:13
28 avril 2011 à 20:13
Bonsoir charly_rom,
Tu traites le tableau directement dans excel ?
Ce que je veux, c'est créer une macro. Il me faut arriver à sélectionner une ligne du tableau pour en connaitre la somme, ensuite déduire ce résultat d'une cellule en vis à vis plus loin dans une colonne, lorsque je saurai faire cela, je l'inserrerai dans une boucle, "For...Each", par exemple.
Merci.
Tu traites le tableau directement dans excel ?
Ce que je veux, c'est créer une macro. Il me faut arriver à sélectionner une ligne du tableau pour en connaitre la somme, ensuite déduire ce résultat d'une cellule en vis à vis plus loin dans une colonne, lorsque je saurai faire cela, je l'inserrerai dans une boucle, "For...Each", par exemple.
Merci.
jen_peplu
Messages postés
33
Date d'inscription
samedi 4 décembre 2010
Statut
Membre
Dernière intervention
25 mars 2012
29 avril 2011 à 10:08
29 avril 2011 à 10:08
J'ai avancé dans ma réalisation mais je bloque sur une erreur incompatibilité de type Erreur d'exécution "13 ".
Je sélectionne les cellules une par une dans mon tableau, puisque je n'arrive pas à le faire avec une ligne comme je le voulais au début du sujet, mais je n'arrive pas à les soustraire à la cellule en vis-à-vis dans la colonne concerné.
Je joins le code si quelqu'un peu m'aider...
Sub op()
Dim Quinc As Range
Dim cellule As Range
Dim sto As Range
Set sto = Range("Stock") `colonne ("T1:T24")
Set Quinc = Range("QuincaillesUtilises") `zone (" J1 :Q24")
For Each cellule In Quinc
If cellule.Value > 0 Then
cellule.Select `cellule > 0 dans " J1 :Q24" sélectionnée
sto(cellule.row, sto.Column - 19).Select `cellule dans " T1:T24" sélectionnée jusque là ça marche
sto.Value = sto.Value - cellule.Value `ici l'erreur est générée
End If
Next cellule
Set Quinc = Nothing
Set sto = Nothing
End Sub
Je cherche mais j'ai vraiment besoin d'aide...
Dans ma ligne < sto.Value = sto.Value - cellule.Value > "cellule.value" contient bien une valeur mais pas "sto.value", comment faire ?
Merci.
Je sélectionne les cellules une par une dans mon tableau, puisque je n'arrive pas à le faire avec une ligne comme je le voulais au début du sujet, mais je n'arrive pas à les soustraire à la cellule en vis-à-vis dans la colonne concerné.
Je joins le code si quelqu'un peu m'aider...
Sub op()
Dim Quinc As Range
Dim cellule As Range
Dim sto As Range
Set sto = Range("Stock") `colonne ("T1:T24")
Set Quinc = Range("QuincaillesUtilises") `zone (" J1 :Q24")
For Each cellule In Quinc
If cellule.Value > 0 Then
cellule.Select `cellule > 0 dans " J1 :Q24" sélectionnée
sto(cellule.row, sto.Column - 19).Select `cellule dans " T1:T24" sélectionnée jusque là ça marche
sto.Value = sto.Value - cellule.Value `ici l'erreur est générée
End If
Next cellule
Set Quinc = Nothing
Set sto = Nothing
End Sub
Je cherche mais j'ai vraiment besoin d'aide...
Dans ma ligne < sto.Value = sto.Value - cellule.Value > "cellule.value" contient bien une valeur mais pas "sto.value", comment faire ?
Merci.
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 427
29 avril 2011 à 11:52
29 avril 2011 à 11:52
bonjour
peut être quelque chose comme ça
bonne suite
peut être quelque chose comme ça
Const lideb = 1 Const lifin = 24 Const codeb = "J" Const cofin = "Q" Dim li As Long For li = lideb To lifin Range("T" & li).Value = Range("T" & li).Value - Application.WorksheetFunction.Sum(Range(codeb & li & ":" & cofin & li)) Next li
bonne suite
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
29 avril 2011 à 12:03
29 avril 2011 à 12:03
Bonjour
essaies si j'ai pigé ta demande
essaies si j'ai pigé ta demande
Option Explicit Sub soustraire() Dim lig As Byte Application.ScreenUpdating = False For lig = 1 To 24 Cells(lig, "T") = Cells(lig, "T") - Application.Sum(Range(Cells(lig, "J"), Cells(lig, "Q"))) Next End Sub
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
29 avril 2011 à 12:05
29 avril 2011 à 12:05
Bonjour ccm
excuses moi je n'avais pas rafraichi!!!
:o)
excuses moi je n'avais pas rafraichi!!!
:o)
jen_peplu
Messages postés
33
Date d'inscription
samedi 4 décembre 2010
Statut
Membre
Dernière intervention
25 mars 2012
29 avril 2011 à 13:34
29 avril 2011 à 13:34
Bonjour ,
Je tiens à vous remercier, ccm81 et michel_m, pour vos réponses qui fonctionnent l'une comme l'autre.
Cela me permet de voir que l'on peut coder de différentes façons, et le savoir ne nuit pas.
Si je peux me permettre michel_m, ne faut-il pas mettre "Application.ScreenUpdating = True " quand la procédure est finie ?
Pourriez-vous me dire, si ce n'est trop, où est le problème dans ma procédure et comment aurais-je dû faire pour que mon opération se fasse, histoire d'en apprendre un peu plus ?
S'il n'y a pas de réponse d'ici quelques jours je signalerai résolu.
Merci à vous parce que je n'aurais pas trouvé de sitôt.
Je tiens à vous remercier, ccm81 et michel_m, pour vos réponses qui fonctionnent l'une comme l'autre.
Cela me permet de voir que l'on peut coder de différentes façons, et le savoir ne nuit pas.
Si je peux me permettre michel_m, ne faut-il pas mettre "Application.ScreenUpdating = True " quand la procédure est finie ?
Pourriez-vous me dire, si ce n'est trop, où est le problème dans ma procédure et comment aurais-je dû faire pour que mon opération se fasse, histoire d'en apprendre un peu plus ?
S'il n'y a pas de réponse d'ici quelques jours je signalerai résolu.
Merci à vous parce que je n'aurais pas trouvé de sitôt.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
29 avril 2011 à 14:07
29 avril 2011 à 14:07
Si je peux me permettre michel_m, ne faut-il pas mettre "Application.ScreenUpdating = True " quand la procédure est finie ?
tu peux! :oD
réponse est non
voir ce site
http://xcell05.free.fr/pages/prog/accvba.htm#ScreenUpdating
comment aurais-je dû faire pour que mon opération se fasse
Bin, ccm et moi ont t'a montré (d'ailleurs, les 2 macros ne varient que sur le fond et non sur la méthode)
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 427
29 avril 2011 à 14:41
29 avril 2011 à 14:41
re
@ jen_peuplus
sto.Value = sto.Value - cellule.Value 'ici l'erreur est générée
sto étant de type range, et contient une plage, contrairement à cellule, donc, je crois qu'il aurait fallu ecrire quelque chose du genre sto.Cells(ligne,colonne).value=sto.Cells(ligne,colonne).value - cellule.value
@michel_m
bonjour michel
pas de pb pour le rafraichissement, mais, confondre la forme et le fond ....
je vais mettre ça sur le compte d'un début d'assoupissement post déjeunatoire ...
bon, j'arrete
merci pour le Cells(lig, "T"), je me suis toujours cru obligé d'envoyer à cells un n° (numérique) de colonne !
cordialement
@ jen_peuplus
sto.Value = sto.Value - cellule.Value 'ici l'erreur est générée
sto étant de type range, et contient une plage, contrairement à cellule, donc, je crois qu'il aurait fallu ecrire quelque chose du genre sto.Cells(ligne,colonne).value=sto.Cells(ligne,colonne).value - cellule.value
@michel_m
bonjour michel
pas de pb pour le rafraichissement, mais, confondre la forme et le fond ....
je vais mettre ça sur le compte d'un début d'assoupissement post déjeunatoire ...
bon, j'arrete
merci pour le Cells(lig, "T"), je me suis toujours cru obligé d'envoyer à cells un n° (numérique) de colonne !
cordialement
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
29 avril 2011 à 14:52
29 avril 2011 à 14:52
confondre la forme et le fond ....
Oui, effectivement, ca s'arrange pas: je vieillis mal :-)
Je vais mettre ça sur le compte d'un début d'assoupissement post déjeunatoire ...
Merci pour ton indulgence :-)
merci pour le Cells(lig, "T"), je me suis toujours cru obligé d'envoyer à cells un n° (numérique) de colonne !
Je préfère aussi le numérique mais sur des petits tableaux, la lettre permet une meilleure compréhension pour des débutants.
Bon WE, j'espère ensolleillé pour tous
Oui, effectivement, ca s'arrange pas: je vieillis mal :-)
Je vais mettre ça sur le compte d'un début d'assoupissement post déjeunatoire ...
Merci pour ton indulgence :-)
merci pour le Cells(lig, "T"), je me suis toujours cru obligé d'envoyer à cells un n° (numérique) de colonne !
Je préfère aussi le numérique mais sur des petits tableaux, la lettre permet une meilleure compréhension pour des débutants.
Bon WE, j'espère ensolleillé pour tous
jen_peplu
Messages postés
33
Date d'inscription
samedi 4 décembre 2010
Statut
Membre
Dernière intervention
25 mars 2012
29 avril 2011 à 17:55
29 avril 2011 à 17:55
Merci pour vos réponses et votre disponibilité. Pendant que certains faisaient la sieste (consécutive à un début d'assoupissement post déjeunatoire), j'ai mis vos conseils en applications et cela m'a bien aidé (jusqu'à la prochaine question).
Effectivement, ccm81, en adaptant la ligne "sto.Cells(ligne,colonne).value=sto.Cells(ligne,colonne).value - cellule.value" cela marche aussi parfaitement.
Vivement que je sache écrire comme vous...
Merci à vous deux
A+
Effectivement, ccm81, en adaptant la ligne "sto.Cells(ligne,colonne).value=sto.Cells(ligne,colonne).value - cellule.value" cela marche aussi parfaitement.
Vivement que je sache écrire comme vous...
Merci à vous deux
A+