Correction code en VBA excell

Résolu
Bonjour,
je veux bien corriger code :
Sub Groupe59_QuandClic()
Dim sh As Worksheet
Dim L As Hyperlink
Dim exclapos As Integer
Dim strFPrec As String
ActiveSheet.Copy after:=Sheets(Sheets.Count)
If [C7].Value = 12 Then
[C7].Value = 1
[a6].Value = [a6].Value + 1
[K1636].Value = 0
Else
[C7].Value = [C7].Value + 1
[K1636].Value = [K1638].Value
End If
If [C7].Value = 1 Then
[C1674].Value = 0
[K1636].Value = 0
[B833].Value = 0
[A7].Value = [A7].Value + 1
[A837].Value = [A837].Value + 1
Else
[C1674].Value = [C1673].Value
[B833].Value = [D833].Value
End If
[A832].Value = [C832].Value
[D1674].Value = [E1673].Value
[E833].Value = [E832].Value
test = Application.Proper(Format(Range("e768"), "mmm-yyyy"))
ActiveSheet.Name = test
'On défini la feuille active
If [C7].Value = 12 Then
ActiveSheet.Shapes("Clôture").Visible = True
Else
ActiveSheet.Shapes("Clôture").Visible = False
End If
Set sh = ActiveSheet
Debug.Print (sh.Name)
'On boucle sur chaque lien de la feuille
For Each L In sh.Hyperlinks
'On trouve l'emplacement du !
exclapos = InStr(1, L.SubAddress, "!", vbTextCompare)
'Nom de la feuille précédente
strFPrec = Mid(L.SubAddress, 1, exclapos - 1)
'On remplace par le nom de la feuille actuelle
L.SubAddress = Replace(L.SubAddress, strFPrec, "'" & sh.Name & "'")
Next
Select Case [C7].Value
Case Is = 3, 5, 8, 11
ActiveSheet.Shapes("Groupe 55").Visible = True
ActiveSheet.Shapes("Picture 863").Visible = True
Case Else
ActiveSheet.Shapes("Groupe 55").Visible = False
ActiveSheet.Shapes("Picture 863").Visible = False
End Select
End Sub.
ça marche bien mais lors d'inserrer ou bien supprimer des lignes il ya transmission de faux valeurs.
merci.

Configuration: Windows / Chrome 49.0.2623.112

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,
    Merci du retour. Je pense que dans se cas vous devez créer pour chaque cellules une variable qui vous permet d'ajouter ou soustraire le nombre de ligne .
    Exemple VA8 correspond l'adresse :A837 je supprime 2 lignes donc VA8 ="[A"&837-2] et ainsi de suite.
    Une autre possibilité est de nommée toutes vos cellules et dans le code vous utilisez les noms des cellules; à vous de tester (pas de classeur pour le faire.)

    1. Bonjour,
      En premier, le code se mets entre les balises de code

      Expl:
      Sub Groupe59_QuandClic()
      Dim sh As Worksheet
      Dim L As Hyperlink
      Dim exclapos As Integer
      Dim strFPrec As String
      ActiveSheet.Copy after:=Sheets(Sheets.Count)
      If [C7].Value = 12 Then


      Vous dite : je veux bien corriger code : alors c'est quoi qui ne marche pas et où?
      1. Bonjour
        ca marche mais avant d’exécuter le code en cliquant sur le bouton et si je supprime ou inserrer des lignes par exemple [A837].Value = [A837].Value + 1 donne a fausse valeur(cad A837 deviend A838 ou A836)
        les lignes du N°769 j'usqua ligne N°1700 parfois je supprime ou bien j'inserre des lignes avant d'executer le code.
        merci.
        1. Ok
          je vais tester de nommée les cellules, est ce qui'il ya autre truc?
          merci
          1. Bonjour,
            Pour moi c'est le meilleur moyen.
            Salutations.
            Le Pingou