Communauté Fb
Follow us on twitter
Les vidéos du site
Le site complément
Dépannage de votre PC

Programmer en vb

Bonjour et bienvenue,

Programmer en VB est le site qui vous fera prendre conscience que vous pouvez concevoir votre programme informatique vous-même, que vous soyez artisan, employé ou étudiant.

Le Visual Basic est un langage informatique très puissant, très flexible et très abordable.
Une version en application se trouve sous Office
Excel pour exemple :
Tapez Alt + F11 à l’aide de votre clavier puis vous voilà dans l’éditeur de code VBA.

Notre forum d’entraide vous offre des tutoriels ainsi que divers exemples tout prêt à adapter à votre projet personnel.
Nous vous demandons uniquement de la bonne humeur et de la bonne volonté pour toutes questions ou toutes aides quelle qu’elle soit.
Sachez que pour progresser rapidement il est conseillé d’aider au mieux les autres membres.
Nous ne sommes pas là pour juger les qualités ou défauts de codes proposés, mais pour trouver ensemble la solution à votre demande.

A vos claviers :

Afin de remplir le forum, nous vous demandons de partager sur les réseaux sociaux et autres.
https://www.facebook.com/AdminPVB/


Merci de nous rejoindre sur http://programmer-en-vb.forumactif.org/
Merci d'avoir pris le temps de lire.
Merci pour votre inscription.

L'équipe de Programmer-en-VB

Forum de programmation VBA et VB.NET

Welcome if you does not speak french,you are able to translate the whole topics with the flags just below of this message. Click to English

Visual Basic Application et VB.net de puissants langages à la portée de tous.

Participez et soyez acteurs des divers forums ci-dessous.

Bienvenue à chaque nouveaux membres et merci à tous ceux qui font vivre ce forum.


Qui est en ligne ?

Il y a en tout 13 utilisateurs en ligne :: 1 Enregistré, 0 Invisible et 12 Invités

AdminPVB


Le record du nombre d'utilisateurs en ligne est de 65 le Mar 8 Juil - 23:40

Statistiques

Nos membres ont posté un total de 5159 messages dans 620 sujets

Nous avons 461 membres enregistrés

L'utilisateur enregistré le plus récent est RACCH

Recherche dans les forums

Utiliser cette méthode afin de trouver rapidement les discussions disponible sur notre forum.


Derniers sujets

» EFFACER LIGNE SUR BASE
par jmcr Hier à 21:54

» Menustrip Vbnet Visual Studio
par Berly Dim 17 Sep - 13:27

» Insertion commentaire dans cellules
par Berly Ven 15 Sep - 20:21

» Chercher un texte dans un commentaire de cellule
par Berly Ven 15 Sep - 20:10

» ameliorer informatique
par jmcr Jeu 14 Sep - 23:19

» question pour le forum
par AdminPVB Jeu 14 Sep - 16:59

» total d'une cellule
par jmcr Lun 11 Sep - 14:51

» CODE ET combobox date enregistrement
par jmcr Lun 11 Sep - 14:49

» compter le nombre de lignes dans un listbox
par jmcr Dim 10 Sep - 11:24

» dossier pdf
par jmcr Mer 6 Sep - 21:40

» suppression d'un fichier txt en cours d'utilisation
par La boc Mar 5 Sep - 20:12

» Boucle sur DataGridView
par AdminPVB Ven 1 Sep - 20:50

» RECHERCHE COMPTABILISER NOMBRE carte
par grisan29 Mar 29 Aoû - 17:49

» ancien temps mis au moderne
par Berly Mar 29 Aoû - 17:18

» Liers des tables dans une BDD
par La boc Mar 29 Aoû - 11:01

Utiliser le bouton résolu

Dans votre message d'origine
cliquer sur le bouton



Ensuite tout en bas sur
Modifier le titre du sujet
cliquer sur le bouton

Résolu !!!

Ensuite changer l’icône du sujet par le bouton

Voilà pas plus compliqué que cela.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Partenaires


créer un forum



Annuaire referencement


Flux RSS


MSN 

Septembre 2017

LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 

Calendrier Calendrier

Menustrip Vbnet Visual Studio

Sam 16 Sep - 21:05 par Berly

Bonsoir le Forum  Very Happy

Je suis actuellement en construction  d'un logiciel pour les enfants en scolarité primaire.(Visual Studio Community 2017)

Je l'ai commencé et il fonctionne parfaitement a ce stade.

J'utilise Le contrôle MenuSrip.

Au commencement il est question d'afficher par catégorie tables de 1 a 10 .
Un Premier Bouton "Tables de Multiplications" Aucun événement 
Puis Ajouts …

[ Lecture complète ]
suppression d'un fichier txt en cours d'utilisation

Mar 5 Sep - 9:51 par La boc

Bonjour,

dans mon application j'ai un fichier txt qui est chargé dans un DataGridView en fonction du n° ID.

Quand je supprime un ID, je dois aussi supprimer ce fichier, quand je fait un delete ça marche bien, le fichier est bien supprimé du dossier mais quand je ferme l'application j'ai un message box:

"Violation de l’accès concurrentiel:
Delete command a effectué 0 des enregistrements …

[ Lecture complète ]
Boucle sur DataGridView

Jeu 31 Aoû - 8:25 par La boc

Bonjour as tous,

J'ai laissé tomber la BDD avec les tables pour mes factures, parce-que j'ai plus de 850 entrées à gérer et ça va être un peu trop lourd.

Je suis donc partis sur des DataGridView pour emplir mes factures, et au lieu d'enregistrer dans une BDD j'enregistre dans un fichier txt et je recharge les fchier en fonction du nom du client.

Jusque là pas de problème.

Je voudrais …

[ Lecture complète ]
Liers des tables dans une BDD

Lun 28 Aoû - 15:08 par La boc

Bonjour à tous,

Je sèche sur un problème visiblement simple, mais impossible de faire quelque chose qui fonctionne!

Voilà dans une base de données access j'ai deux tables, une table client et une table facture, je souhaiterais lier les ID des deux tables pour que quand je choisis un id client j'ai sa facture dans la table facture.

Je fais une application VBNET avec Visulal studio comunity …

[ Lecture complète ]
Application

Lun 15 Mai - 19:02 par Berly

Bonjour le forum

Souci dans une nouvelle application.

Total des énoncés =3

Ecriture de l'énoncé 1 dans un Textbox.

Je voulais créer plusieurs problèmes différents.
Dons pour cela j'ai créé 3 sub  Laughing.

Lors de l'événement clic sur le bouton créé pour visualiser le premier énoncé celui ci s'affiche correctement Very Happy .
Suite a cela l'utilisateur donne le résultat ,et un Msgbox …

[ Lecture complète ]
Obtenir le volume sonore enregistré par le micro

Sam 10 Sep - 13:29 par Nayl.VBcoder

Bonjour,

Je cherche à avoir le volume sonore de la pièce en temps réel, et l'afficher dans une ProgressBar.
Je ne vois pas comme plus décrire mon problème.

Merci de vos réponses.

Petits bidouillages pour ce faciliter La vie ,Astuces et codes pratique

Dim 11 Juin - 12:20 par Berly

Bonjour le Forum  Very Happy.

Lorsque j'écrivais dans mon code Console.Writeline ("Patati,Patata,......) ,j'ai d'abord utilisé le copié collé en changeant la valeur du texte .

Bon d'accord ,c'est bien mais ,ça me saoul un peu ,au fur et a mesure de mes apprentissages ,j'ai découvert les fonctions  Very Happy.

Maintenant je partage celle ci avec vous .

On est la sur un exemple de code en "Mode …

[ Lecture complète ]
Utilisation d'un objet son (Wav)

Jeu 18 Mai - 21:48 par Berly

Bonjour le forum 

Voila , je voudrais savoir si on peut créer un tableau d'objets son.
Difficile de trouver ce genre d'information .

Les sons  sont intégrés en ressources programme.

Merci  Very Happy
Code:
[Module Module1
    Dim son1 = New System.Media.SoundPlayer(My.Resources._0283)
    Dim son2 = New System.Media.SoundPlayer(My.Resources._0863)
    Dim son3 = New …


[ Lecture complète ]
Ressource Vb.net

Ven 5 Mai - 22:29 par Berly

Bonsoir le forum

Toujours a la recherche de ressources ,je partage avec vous une nouvelle ressource  Wink.

Bonne lecture .

https://vbnetpourtous.wordpress.com/2012/12/13/les-variables/


souci avec boutons remonter où descendre lignes

Partagez
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu souci avec boutons remonter où descendre lignes

Message par grisan29 le Sam 2 Nov - 19:44

bonjour a vous tous

dans cette discussion http://programmer-en-vb.forumactif.org/t111-logo-non-sauvegarder a été entamé un sujet que je recréer ici
donc j'ai un souci avec les boutons "remonter" et "descendre "une ligne dès qu'il y a une tranche où un commentaire d'écrit dans la col C
voici le fichier en question http://pvb.comeze.com/Fichier_upload/grisan29/essaiarticles_2v.xlsm

Pascal
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: souci avec boutons remonter où descendre lignes

Message par AdminPVB le Dim 3 Nov - 12:04

Bonjour Grisan29, le forum

Voici le code modifier sur le ligne if & font bold <> True mis en commentaire, pour le bouton remonter .
Code:
Private Sub Remonter_Ligne()
  Dim T(), NoLigne As Long, S As Double, H As Double
  Dim DerLig As Long, Ok As Boolean, ActLigne As Long

  'Feuil1 est le nom de la propriété de l'objet "Feuille" visible
  'dans la fenêtre de l'éditeur de code et non le nom de l'onglet
  'de la feuille.
  'With Feuil1
  With Worksheets("facture")
    'Trouve la dernière ligne occupée dans les colonnes c:h
    DerLig = .Range("C:H").Find(What:="*", _
                                LookIn:=xlFormulas, _
                                SearchOrder:=xlByRows, _
                                SearchDirection:=xlPrevious).Row
    'Si ton tableau était vide, la dernière ligne serait
    'la première ligne de ton tableau.
    If DerLig < 19 Then DerLig = 19
  End With

  'Si l'usager a sélectionné une cellule dans la plage C19:Cx
  If Not Intersect(ActiveCell, Range("C19:H" & DerLig)) Is Nothing Then
    'Une variable pour le numéro de ligne
    NoLigne = ActiveCell.Row
    'Si la ligne sélectionnées est en caractère grand et fusionnée
    If Range("C" & NoLigne).MergeCells = True And Range("C" & NoLigne).Font.Bold = True Then
      'On remonte d'une ligne
      ActiveCell.offset(-1).Select
      'On met fin à l'opération
      Exit Sub
    End If
    'si la ligne active est 19, fin des opérations
    'car on ne peut pas remonter plus haut
    If ActiveCell.Row = 19 Then Exit Sub
    'une petite boucle afin de trouver la ligne aus-dessus de la ligne
    'Active qui ne soit pas fusionnée et en caractère gras.
    Do
      NoLigne = NoLigne - 1
      If Range("C" & NoLigne).MergeCells <> True Then 'And _Range("C" & NoLigne).Font.Bold <> True Then
        'Si le critère est respecter, sortie de la boucle
        Ok = True
        Exit Do
      End If
    Loop Until NoLigne = 19
    'Une deuxième variable pour le numéro de la ligne de la cellule active.
    ActLigne = ActiveCell.Row
    'Au sortir de la boucle, si tout est Ok
    If Ok = True Then
      'met dans une variable tableau, le contenu de la ligne
      T = Rows(NoLigne).Cells.Value
      'met dans S la hauteur de la ligne active
      S = Rows(ActLigne).Height
      'met en H la hauteur de la ligne où sera copiée les données
      H = Rows(NoLigne).Height
      'Copie de la ligne active vers la ligne au-dessus
      Rows(NoLigne).Value = Rows(ActLigne).Value
      'Copie des valeurs de T dans la ligne active
      Rows(ActLigne) = T
      'Nouvelle hauteur de la ligne de la ligne active s'il y a lieu
      Rows(ActLigne).RowHeight = H
      'Nouvelle hauteur de la ligne de la ligne au-dessus s'il y a lieu.
      Rows(NoLigne).RowHeight = S
      'sélection de la ligne où ont été copiées les données
      Rows(NoLigne).Cells(1, 4).Select
    End If
  End If
End Sub
reste la descente si la remonter te convient.

A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: souci avec boutons remonter où descendre lignes

Message par grisan29 le Dim 3 Nov - 13:11

bonjour Fhoest

pour un dimanche tu est le sunny du jour gris et humide en Bretagne

la code modifié permet au bouton "remonter"de bien travailler cheers 

j'ai appliqué le même code au bouton descente et youpi cheers 

un très Grand GRand GRANg GRAND " MERCI"

pascal
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: souci avec boutons remonter où descendre lignes

Message par grisan29 le Sam 16 Nov - 6:58

bonjour Fhoest et le forum

je n'avais pas eu a utiliser les boutons "remonter et descendre" avant hier et la formule appliquée pour le calcul du montant ht est effacer, de même que celui de la tva,
ce qui fait qu'en ne modifiant que la quantité le montant ne bouge pas , hors il devrai s'écrire comme ceci
=$I$21*$K$21
et celui de la tva
=SI(M21=1;I21*K21*0,07;"")
revoici le code complet
Code:
Private Sub Remonter_Ligne()
  Dim T(), NoLigne As Long, S As Double, H As Double
  Dim DerLig As Long, Ok As Boolean, ActLigne As Long

  'Feuil1 est le nom de la propriété de l'objet "Feuille" visible
  'dans la fenêtre de l'éditeur de code et non le nom de l'onglet
  'de la feuille.
  'With Feuil1
  With Worksheets("facture")
    'Trouve la dernière ligne occupée dans les colonnes c:h
    DerLig = .Range("C:H").Find(What:="*", _
                                LookIn:=xlFormulas, _
                                SearchOrder:=xlByRows, _
                                SearchDirection:=xlPrevious).Row
    'Si ton tableau était vide, la dernière ligne serait
    'la première ligne de ton tableau.
    If DerLig < 19 Then DerLig = 19
  End With

  'Si l'usager a sélectionné une cellule dans la plage C19:Cx
  If Not Intersect(ActiveCell, Range("C19:H" & DerLig)) Is Nothing Then
    'Une variable pour le numéro de ligne
    NoLigne = ActiveCell.Row
    'Si la ligne sélectionnées est en caractère grand et fusionnée
    If Range("C" & NoLigne).MergeCells = True And _
       Range("C" & NoLigne).Font.Bold = True Then
      'On remonte d'une ligne
      ActiveCell.offset(-1).Select
      'On met fin à l'opération
      Exit Sub
    End If
    'si la ligne active est 19, fin des opérations
    'car on ne peut pas remonter plus haut
    If ActiveCell.Row = 19 Then Exit Sub
    'une petite boucle afin de trouver la ligne aus-dessus de la ligne
    'Active qui ne soit pas fusionnée et en caractère gras.
    Do
      NoLigne = NoLigne - 1
      If Range("C" & NoLigne).MergeCells <> True And _
         Range("C" & NoLigne).Font.Bold <> True Then
        'Si le critère est respecter, sortie de la boucle
        Ok = True
        Exit Do
      End If
    Loop Until NoLigne = 19
    'Une deuxième variable pour le numéro de la ligne de la cellule active.
    ActLigne = ActiveCell.Row
    'Au sortir de la boucle, si tout est Ok
    If Ok = True Then
      'met dans une variable tableau, le contenu de la ligne
      T = Rows(NoLigne).Cells.Value
      'met dans S la hauteur de la ligne active
      S = Rows(ActLigne).Height
      'met en H la hauteur de la ligne où sera copiée les données
      H = Rows(NoLigne).Height
      'Copie de la ligne active vers la ligne au-dessus
      Rows(NoLigne).Value = Rows(ActLigne).Value
      'Copie des valeurs de T dans la ligne active
      Rows(ActLigne) = T
      'Nouvelle hauteur de la ligne de la ligne active s'il y a lieu
      Rows(ActLigne).RowHeight = H
      'Nouvelle hauteur de la ligne de la ligne au-dessus s'il y a lieu.
      Rows(NoLigne).RowHeight = S
      'sélection de la ligne où ont été copiées les données
      Rows(NoLigne).Cells(1, 4).Select
    End If
  End If
End Sub
ce sont les colonnes "L à P " qui sont concernées
il faudrait pouvoir réadapter la partie du bouton ajout sur feuille qui fait les comptes
Code:
'calcul du montant HT
    If IsNumeric(.Cells(lig, "I")) And IsNumeric(.Cells(lig, "K")) Then
      .Cells(lig, "O").FormulaR1C1 = "=IF(RC[-2]=1,RC[-6]*RC[-4]*0.07,"""")"
      .Cells(lig, "O").NumberFormat = "#,##0.00€"
      .Cells(lig, "P").FormulaR1C1 = "=IF(RC[-3]=2,RC[-7]*RC[-5]*0.196,"""")"
      .Cells(lig, "P").NumberFormat = "#,##0.00€"
      .Cells(lig, "L").FormulaR1C1 = "=RC[-1]*RC[-3]"
      .Cells(lig, "L").NumberFormat = "#,##0.00€"
    End If
    'calcul du montant HT
    If IsNumeric(.Cells(lig, "I")) And IsNumeric(.Cells(lig, "K")) Then
        .Cells(lig, "L") = "=" & .Cells(lig, "I").AddressLocal & "*" & .Cells(lig, "K").AddressLocal
    Else
      .Cells(lig, "O") = ""
      .Cells(lig, "P") = ""
    End If
    'calcul des totaux montant HT, TVA5,5, TVA 19,6
    For i = lig To 1 Step -1
        If .Cells(i, "K") = "REPORT" Or .Cells(i, "K") = "Quantité" Then Exit For
    Next i
    '.Cells(lig + 1, "L").Formula = "=SUM(" & .Range(.Cells(i + 1, "L"), .Cells(lig, "L")).AddressLocal & ")"
    .Cells(lig + 1, "L").NumberFormat = "#,##0.00€"
    .Cells(lig + 1, "O").Formula = "=SUM(" & .Range(.Cells(i + 1, "O"), .Cells(lig, "O")).AddressLocal & ")"
    .Cells(lig + 1, "O").NumberFormat = "#,##0.00€"
    .Cells(lig + 1, "P").Formula = "=SUM(" & .Range(.Cells(i + 1, "P"), .Cells(lig, "P")).AddressLocal & ")"
    .Cells(lig + 1, "P").NumberFormat = "#,##0.00€"
   
    If .Cells(lig + 1, "P") < 0.0001 Then .Cells(lig + 1, "P") = ""
    If .Cells(lig + 1, "O") < 0.0001 Then .Cells(lig + 1, "O") = ""
ou s'en inspirer, je vais m'y pencher

Pascal
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: souci avec boutons remonter où descendre lignes

Message par AdminPVB le Sam 16 Nov - 19:30

Bonjour grisan29,
quand tu parles de changer la quantité c'est directement sur la feuille excel ou en passant par le usf ?
Merci et à bientôt.


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: souci avec boutons remonter où descendre lignes

Message par grisan29 le Sam 16 Nov - 20:37

bonjour Fhoest
quand je modifie le devis c'est une partie par l'usf quand je rajoute une ligne d'article , mais autrement cela se passe sur la feuille mais ce code ne devrai pas effacer les formules existantes sur la feuille

Pascal
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: souci avec boutons remonter où descendre lignes

Message par AdminPVB le Sam 16 Nov - 23:11

Bonjour Grisan29,

Une partie ok pour le reste un petit problème que je ne trouve pas pour l'instant que le code remonter
Code:
Private Sub Remonter_Ligne()
      Dim T(), NoLigne As Long, S As Double, H As Double
      Dim DerLig As Long, Ok As Boolean, ActLigne As Long

      'Feuil1 est le nom de la propriété de l'objet "Feuille" visible
      'dans la fenêtre de l'éditeur de code et non le nom de l'onglet
      'de la feuille.
      'With Feuil1
      With Worksheets("facture")
        'Trouve la dernière ligne occupée dans les colonnes c:h
        DerLig = .Range("C:H").Find(What:="*", _
                                    LookIn:=xlFormulas, _
                                    SearchOrder:=xlByRows, _
                                    SearchDirection:=xlPrevious).Row
        'Si ton tableau était vide, la dernière ligne serait
        'la première ligne de ton tableau.
        If DerLig < 19 Then DerLig = 19
      End With

      'Si l'usager a sélectionné une cellule dans la plage C19:Cx
      If Not Intersect(ActiveCell, Range("C19:H" & DerLig)) Is Nothing Then
        'Une variable pour le numéro de ligne
        NoLigne = ActiveCell.Row
        'Si la ligne sélectionnées est en caractère grand et fusionnée
        If Range("C" & NoLigne).MergeCells = True And Range("C" & NoLigne).Font.Bold = True Then
          'On remonte d'une ligne
          ActiveCell.offset(-1).Select
          'On met fin à l'opération
          Exit Sub
        End If
        'si la ligne active est 19, fin des opérations
        'car on ne peut pas remonter plus haut
        If ActiveCell.Row = 19 Then Exit Sub
        'une petite boucle afin de trouver la ligne aus-dessus de la ligne
        'Active qui ne soit pas fusionnée et en caractère gras.
        Do
          NoLigne = NoLigne - 1
          If Range("C" & NoLigne).MergeCells <> True Then 'And _Range("C" & NoLigne).Font.Bold <> True Then
            'Si le critère est respecter, sortie de la boucle
            Ok = True
            Exit Do
          End If
        Loop Until NoLigne = 19
        'Une deuxième variable pour le numéro de la ligne de la cellule active.
        ActLigne = ActiveCell.Row
        'Au sortir de la boucle, si tout est Ok
        If Ok = True Then
          'met dans une variable tableau, le contenu de la ligne
          T = Rows(NoLigne).Cells.Value
          'met dans S la hauteur de la ligne active
          S = Rows(ActLigne).Height
          'met en H la hauteur de la ligne où sera copiée les données
          H = Rows(NoLigne).Height
          'Copie de la ligne active vers la ligne au-dessus
          Rows(NoLigne).Value = Rows(ActLigne).Value
          Range("L" & NoLigne).Formula = "=$I" & NoLigne & "*$K" & NoLigne
          'partie en dessous bon mais pas encore fonctionnelle (je cherche pourquoi)
          Range("o" & NoLigne).Select
          ActiveCell.FormulaR1C1 = "=SI(RC[-2]=1,RC[-6]*RC[-4]*0.07,"""")"
          Range("P" & NoLigne).Select
          ActiveCell.FormulaR1C1 = "=SI(RC[-2]=1,RC[-7]*RC[-5]*0.196,"""")"
          'Copie des valeurs de T dans la ligne active
          Rows(ActLigne) = T
          'Nouvelle hauteur de la ligne de la ligne active s'il y a lieu
          Rows(ActLigne).RowHeight = H
          'Nouvelle hauteur de la ligne de la ligne au-dessus s'il y a lieu.
          Rows(NoLigne).RowHeight = S
          'sélection de la ligne où ont été copiées les données
          Rows(NoLigne).Cells(1, 4).Select
        End If
      End If
    End Sub
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: souci avec boutons remonter où descendre lignes

Message par grisan29 le Dim 17 Nov - 9:36

Bonjour Fhoest

merci pour cette modification qui mets bien la formule dans les colonnes de tva mais n'affiche la valeur que sous #NOM?, mais en cliquant dans la barre de formule cela reviens bien
le seul souci est que sur son passage la ligne qui remonte efface les formules au fur et a mesure

Pascal
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: souci avec boutons remonter où descendre lignes

Message par AdminPVB le Dim 17 Nov - 11:53

Bonjour,
voilà un bon dimanche pour toi:
Code:
 Private Sub Remonter_Ligne()
          Dim T(), NoLigne As Long, S As Double, H As Double
          Dim DerLig As Long, Ok As Boolean, ActLigne As Long

          'Feuil1 est le nom de la propriété de l'objet "Feuille" visible
          'dans la fenêtre de l'éditeur de code et non le nom de l'onglet
          'de la feuille.
          'With Feuil1
          With Worksheets("facture")
            'Trouve la dernière ligne occupée dans les colonnes c:h
            DerLig = .Range("C:H").Find(What:="*", _
                                        LookIn:=xlFormulas, _
                                        SearchOrder:=xlByRows, _
                                        SearchDirection:=xlPrevious).Row
            'Si ton tableau était vide, la dernière ligne serait
            'la première ligne de ton tableau.
            If DerLig < 19 Then DerLig = 19
          End With

          'Si l'usager a sélectionné une cellule dans la plage C19:Cx
          If Not Intersect(ActiveCell, Range("C19:H" & DerLig)) Is Nothing Then
            'Une variable pour le numéro de ligne
            NoLigne = ActiveCell.Row
            'Si la ligne sélectionnées est en caractère grand et fusionnée
            If Range("C" & NoLigne).MergeCells = True And Range("C" & NoLigne).Font.Bold = True Then
              'On remonte d'une ligne
              ActiveCell.offset(-1).Select
              'On met fin à l'opération
              Exit Sub
            End If
            'si la ligne active est 19, fin des opérations
            'car on ne peut pas remonter plus haut
            If ActiveCell.Row = 19 Then Exit Sub
            'une petite boucle afin de trouver la ligne aus-dessus de la ligne
            'Active qui ne soit pas fusionnée et en caractère gras.
            Do
              NoLigne = NoLigne - 1
              If Range("C" & NoLigne).MergeCells <> True Then 'And _Range("C" & NoLigne).Font.Bold <> True Then
                'Si le critère est respecter, sortie de la boucle
                Ok = True
                Exit Do
              End If
            Loop Until NoLigne = 19
            'Une deuxième variable pour le numéro de la ligne de la cellule active.
            ActLigne = ActiveCell.Row
            'Au sortir de la boucle, si tout est Ok
            If Ok = True Then
              'met dans une variable tableau, le contenu de la ligne
              T = Rows(NoLigne).Cells.Value
              'met dans S la hauteur de la ligne active
              S = Rows(ActLigne).Height
              'met en H la hauteur de la ligne où sera copiée les données
              H = Rows(NoLigne).Height
              'Copie de la ligne active vers la ligne au-dessus
              Rows(NoLigne).Value = Rows(ActLigne).Value
             
              'Mise à jour des formules ligne NoLigne
              Range("L" & NoLigne).Formula = "=$I" & NoLigne & "*$K" & NoLigne
              'partie en dessous bon mais pas encore fonctionnelle (je cherche pourquoi)
              Range("o" & NoLigne).Select
              ActiveCell.FormulaR1C1 = "=IF(RC[-2]=1,RC[-6]*RC[-4]*0.07,"""")"
              Range("P" & NoLigne).Select
              ActiveCell.FormulaR1C1 = "=IF(RC[-2]=1,RC[-7]*RC[-5]*0.196,"""")"
             
              'Copie des valeurs de T dans la ligne active
              Rows(ActLigne) = T
              'Nouvelle hauteur de la ligne de la ligne active s'il y a lieu
              Rows(ActLigne).RowHeight = H
              'Nouvelle hauteur de la ligne de la ligne au-dessus s'il y a lieu.
              Rows(NoLigne).RowHeight = S
              'sélection de la ligne où ont été copiées les données
              Rows(NoLigne).Cells(1, 4).Select
           
            'Mise à jour des formules ligne ActLigne
              Range("L" & ActLigne).Formula = "=$I" & ActLigne & "*$K" & ActLigne
              Range("o" & ActLigne).Select
              ActiveCell.FormulaR1C1 = "=IF(RC[-2]=1,RC[-6]*RC[-4]*0.07,"""")"
              Range("P" & ActLigne).Select
              ActiveCell.FormulaR1C1 = "=IF(RC[-2]=1,RC[-7]*RC[-5]*0.196,"""")"
           
            End If
          End If
        End Sub
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: souci avec boutons remonter où descendre lignes

Message par grisan29 le Dim 17 Nov - 16:43

bonjour Fhoest Cool 

Merci beaucoup,Very Happy  cela est maintenant comme il faut Very Happy sauf qu'il y a un mais:
quand je sélectionne la ligne a remonter, la ligne remonte c'est parfait mais la sélection se trouve en col "P", hors lorsque je dois remonter de 2 où plus de lignes serai mieux que la cellule de la col "C" reste sélectionnée le temps de la remonter et pareil pour la descente où que la ligne sélectionnée reste active le temps de la remonter ou la descendre

il faudrait que cette ligne
Code:
'Si l'usager a sélectionné une cellule dans la plage C19:Cx
  If Not Intersect(ActiveCell, Range("C19:H" & DerLig)) Is Nothing Then
reste active en quelque sorte

le code fonctionne identiquement bien avec le bouton "descendre"

en cas merci Beaucoup de ton aide et de ton savoir Cool Cool Very Happy Very Happy cheers 

Pascal
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: souci avec boutons remonter où descendre lignes

Message par AdminPVB le Dim 17 Nov - 20:03

Bonsoir Grisan29,
déplace cette ligne vers la fin pour la sélection:
Code:
 Rows(NoLigne).Cells(1, 4).Select
Pour le mais.
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: souci avec boutons remonter où descendre lignes

Message par grisan29 le Dim 17 Nov - 20:15

Bonsoir Fhoest cheers 

Merci beaucoup Smile de me faire finir mon dimanche en beauté grâce a tes compétences Very Happy 

Pascal
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: souci avec boutons remonter où descendre lignes

Message par grisan29 le Ven 22 Nov - 9:15

bonjour Fhoest et le forum
désolé de revenir a la charge Crying or Very sad 

j'ai un autre souci concernant la remonter ou descente d'une ligne car maintenant j'ai rajoutée la fonction d'un calcul de sous-total qui s'intercale à la fin d'une tranche par appui sur un bouton et du coup perturbe le code de remonter , je joint le code de sous total pour aide avec mes excuses pour l'indentage
Code:
Private Sub soustot_Click()
Set ws = ActiveSheet
'lf numéro de dernière ligne pour la formule sous-total
lf = ActiveCell.Row
' on vérifie que la cellule sélectionnée est bien un entête de rubrique
If ActiveCell.Column <> 3 Or ActiveCell = "" Then
MsgBox "vous devez selectionner la rubrique pour laquelle vous voulez un sous-total"
Exit Sub
End If
' fl numéro de première ligne pour la formule sous-total
fl = 0
' on empêche les events
Application.EnableEvents = False
' on mémorise le paramétrage pour le calcul
calculationparam = Application.Calculation
' on met le paramétrage du calcul en manuel
Application.Calculation = xlCalculationManual
' soustotalencours variable de controle de la boucle
soustotalencours = True
' tant qu'on a pas terminé l'exercice de sous-total
While soustotalencours
If fl = 0 And ws.Cells(lf, 3) <> "" Then
'ligne rubrique trouvée
fl = lf
ElseIf fl <> 0 And (ws.Cells(lf, 4) = "" Or ws.Cells(lf, 3) <> "") Then
'ligne blanche ou ligne nouvelle rubrique trouvée après le détail d'une rubrique
If Left(ws.Cells(lf, 7), 4) <> "sous" Then
'il n'y a pas encore de ligne sous-total, on insère une nouvelle ligne
ws.Rows(lf).Insert Shift:=xlDown
End If
' on inscrit sous-total, suivi de la rubrique, suivi de ":"
ws.Cells(lf, 7) = "sous total : " & ws.Cells(fl, 3) & " : "
' on fait le cadrage à droite
ws.Cells(lf, 7).HorizontalAlignment = xlRight
ws.Cells(lf, 7).Font.Underline = xlUnderlineStyleSingle
'ws.Cells(lf, 7).Font.Bold = True
ws.Cells(lf, 7).WrapText = False
' on adapte le format pour la somme
ws.Cells(lf, 8).NumberFormat = "0.00€"
' on insère la formule =sum( fl,lf-1)
fs = "=sum(" & ws.Cells(fl, 12).Address & ":" & ws.Cells(lf - 1, 12).Address & ")"
ws.Cells(lf, 8).Formula = fs
soustotalencours = False
fl = 0
End If
lf = lf + 1
Wend
Application.EnableEvents = True
Application.Calculation = calculationparam
End Sub
en fait le sous total s'insère en col H et J  par ligne supplémentaire je joint une image d'un devis représentant ces sous total
http://pvb.comeze.com/Fichier_upload/grisan29/remonter_avec_soustot-1.jpg

sur l'image on voit aussi que le dernier sous total s'insère après la bordure, mais comment faire pour qu'il soit au dessus où que la bordure soit en dessous

Pascal
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: souci avec boutons remonter où descendre lignes

Message par grisan29 le Ven 22 Nov - 10:50

bonjour

oubli de retirer résolu

Pascal
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: souci avec boutons remonter où descendre lignes

Message par AdminPVB le Ven 22 Nov - 20:07

Bonjour,
dans un premier temps n'est il pas possible de faire comme ça


A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: souci avec boutons remonter où descendre lignes

Message par grisan29 le Ven 22 Nov - 20:24

bonsoir Fhoest

merci de ta réponse qui serai une solution,  j'ai pensé à ne mettre les sous totaux qu'en fin de devis car cela est possible avec le code , mais je me suis aperçu du souci lorsqu'il faut modifier un devis en faisant un devis bidon comme celui que j'ai donné

j'ai réfléchi a ta solution mais il m'arrive d'avoir un texte explicatif a écrire sur 2 où 3 lignes et cette écriture peut se terminer pile a la fin de ligne et ne pas laisser de place
le devis exemple n'est pas réel car
électricité
doit être écrit comme une tranche en gras et le texte explicatif à la suite
c'est pour cela que j'ai mis le sous total en fin de secteur

Pascal
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: souci avec boutons remonter où descendre lignes

Message par grisan29 le Ven 22 Nov - 21:07

re bonjour
de toute façon il y a un autre souci de taille
quand une tranche est écrite en col C et que la ligne dessous est un commentaire , le sous total s'insère entre ces 2 lignes et pas en bas de secteur,
voici l'image

Pascal
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: souci avec boutons remonter où descendre lignes

Message par AdminPVB le Ven 22 Nov - 22:13

Bonsoir,
une question c'est bien la colonne D qui est rempli en sous total ?
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: souci avec boutons remonter où descendre lignes

Message par grisan29 le Sam 23 Nov - 5:42

bonjour Fhoest

ce n'est pas en col "D" que ce mets le sous total si on lit bien son code c'est en col "G" et le résultat en col "H" numérotée 7 et 8 dans le code
Code:
'il n'y a pas encore de ligne sous-total, on insère une nouvelle ligne
ws.Rows(lf).Insert Shift:=xlDown
End If
' on inscrit sous-total, suivi de la rubrique, suivi de ":"
ws.Cells(lf, 7) = "sous total : " & ws.Cells(fl, 3) & " : "
' on fait le cadrage à droite
ws.Cells(lf, 7).HorizontalAlignment = xlRight
ws.Cells(lf, 7).Font.Underline = xlUnderlineStyleSingle
'ws.Cells(lf, 7).Font.Bold = True
ws.Cells(lf, 7).WrapText = False
' on adapte le format pour la somme
ws.Cells(lf, 8).NumberFormat = "0.00€"
' on insère la formule =sum( fl,lf-1)
fs = "=sum(" & ws.Cells(fl, 12).Address & ":" & ws.Cells(lf - 1, 12).Address & ")"
ws.Cells(lf, 8).Formula = fs
soustotalencours = False
Pascal
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: souci avec boutons remonter où descendre lignes

Message par AdminPVB le Sam 23 Nov - 8:13

Bonjour,
en changeant cette partie de code cela peut il fonctionner ?
Code:
 'Si la ligne sélectionnées est en caractère grand et fusionnée
        If Range("C" & NoLigne).MergeCells = True And Range("C" & NoLigne).Font.Bold = True And range("G" & Noligne -1) like "sous total :" & "*" Then
          'On remonte d'une ligne
          ActiveCell.offset(-1).Select
          'On met fin à l'opération
          Exit Sub
        End If
code du bouton remonter pour l'exemple.
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: souci avec boutons remonter où descendre lignes

Message par grisan29 le Sam 23 Nov - 8:40

bonjour Fhoest

test uniquement avec le bouton remonter une ligne

merci pour ce début de code qui fonctionne par passage en force et en modifiant le format d'écriture de la tranche et du commentaire qui sont au dessus et inverse l'ordre des lignes en mettant la tranche après le commentaire

je reviens dans l'après midi(visite client oblige)

Pascal
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: souci avec boutons remonter où descendre lignes

Message par grisan29 le Dim 24 Nov - 8:29

bonjour Fhoest et le forum

j'ai trouvé
http://forum.excel-pratique.com/excel/calculer-un-sous-total-t9993.html a écrit:ici
un exemple de sous total qui se fait par des formules et sur cet exemple sous-total est écrit en col B donc si je part du même principe il suffirai que le sous total soit inscrit comme une tranche où un commentaire pour etre pris en compte par les boutons remonter et descendre

Pascal
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: souci avec boutons remonter où descendre lignes

Message par AdminPVB le Dim 24 Nov - 20:03

Bonjour,
serait il possible d'avoir le fichier avec un exemple rempli ?
merci.
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: souci avec boutons remonter où descendre lignes

Message par grisan29 le Dim 24 Nov - 21:00

bonsoir Fhoest

Merci, je te joints le classeur que j'utilise et qui prends ses articles dans la base sur c:\ mais pour le souci de sous total je pense qu'il fonctionne sans ainsi que les boutons de remonter où descendre
http://pvb.comeze.com/Fichier_upload/grisan29/essai_pour_sous_total.xlsm
donc dans la première partie le sous total s'est bien positionné car il n'y a pas de commentaire, par contre la 2ème partie a un commentaire et le sous total s'est insérer entre la tranche et le commentaire( pas cool)

et par ailleurs lorsque le devis est fini comment faire pour que le sous total ne soit pas en dessous de la bordure

je serai de retour mercredi soir alors ne t'énerve pas si tu ne peux pas faire ce soir

Pascal
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: souci avec boutons remonter où descendre lignes

Message par grisan29 le Lun 2 Déc - 22:21

bonjour Fhoest

Pas d'idée depuis ?

Pascal

Contenu sponsorisé

Résolu Re: souci avec boutons remonter où descendre lignes

Message par Contenu sponsorisé


    La date/heure actuelle est Jeu 21 Sep - 7:12