Problème feuille macro

  • Initiateur de la discussion Initiateur de la discussion tactic6
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

tactic6

XLDnaute Impliqué
Bonjour a tous, le forum les visiteurs, les sponsors ....
voici une macro réalisée par fred65200 sur ce fil https://www.excel-downloads.com/threads/comment-transferer-5-cellules.86318/
elle va tres bien mais j'ai changé le modèle de ma feuille 1(Facture) et maintenant j'ai une erreur 9
à la ligne :
Set F1 = Sheets("Facture")
l'indice n'appartient pas à la selection
quelqu'un aurait une petite idée ?



Option Base 1
Sub Transfert2()
Dim tablo(1, 6)
Dim tabloErreur As Variant
Dim tabloMsg As Variant
Dim tabloFacture As Variant
Dim Msg As String
Dim Msg1 As String
Dim Msg2 As String
Dim F1 As Worksheet
Dim F2 As Worksheet
Dim Derli As Long
Dim i As Integer

'initialisation des variables
Set F1 = Sheets("Facture")
Set F2 = Sheets("Feuil1")
' affectaction des valeurs de cellules au tableau
tablo(1, 1) = F1.[C12]
tablo(1, 2) = F1.[H5]
tablo(1, 3) = F1.[J6]
tablo(1, 4) = F1.[H8]
tablo(1, 5) = F1.[H12]
tablo(1, 6) = F1.[J59]
'Gestion des cellules non renseignées
tabloErreur = Array("", "Date", "")
tabloMsg = Array("nom", "date", "numéro")
Msg1 = "Il n'y a pas de "
Msg2 = ", la facture ne peut pas être enregistrée."
'boucle pour l'affichage des cellules non remplies
For i = 3 To 1 Step -1
If tablo(1, i) = tabloErreur(i) Then Msg = Msg & vbLf & Msg1 & tabloMsg(i) & Msg2
Next i
'si une condition remplie, affichage du message d'erreur et fin de Sub
If Not Msg = "" Then MsgBox Msg : Exit Sub

'Recherche de la dernière ligne de l'onglet "Feuil1"
Derli = F2.Columns("A").Find("*", , , , , xlPrevious).Row ' + 1

'Gestion des doublons
tabloFacture = F2.Range("C1:C" & Derli).Value
'si doublon, affichage du message et fin de Sub
If Not IsError(Application.Match(tablo(1, 3), tabloFacture, 0)) Then _
MsgBox "Le numéro de facture """ & tablo(1, 3) & """ existe déja!": Exit Sub

'insertion des données sur Feuil1
Derli = Derli + 1
F2.Cells(Derli, "I").Value = Now
F2.Range("A" & Derli & ":F" & Derli).Value = tablo

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub


Fred si t'es là .....
merci pour votre aide
 
Dernière édition:
Re : Problème feuille macro

Bonsoir
j'aimerais une macro qui efface ma feuille mais qui garde les formules des lignes
et en plus qui me permette d'ecrire un texte "hors formule"
la formule ci dessous est apparement incompatible avec la macro ci dessus
Code:
Sub Retablir()
ActiveSheet.Unprotect
    ActiveWindow.SmallScroll ToRight:=4
    Range("K5").Select
    Selection.Copy
    ActiveWindow.ScrollColumn = 1
    Range("H6").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False
    Range("C12").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("B15:C61").Select
    Selection.ClearContents
    Range("D15:E15").Select
    ActiveWindow.SmallScroll ToRight:=6
    ActiveWindow.ScrollRow = 1
    Range("K4").Select
    Selection.Copy
    ActiveWindow.ScrollColumn = 1
    Range("D15:E15").Select
    ActiveWindow.SmallScroll Down:=12
    Selection.AutoFill Destination:=Range("D15:E61"), Type:=xlFillDefault
    Range("D15:E61").Select
    ActiveWindow.ScrollRow = 1
    Range("F15").Select
    ActiveWindow.SmallScroll ToRight:=4
    ActiveWindow.ScrollRow = 1
    Range("F15").Select
    ActiveWindow.SmallScroll Down:=15
    Selection.AutoFill Destination:=Range("F15:F61"), Type:=xlFillDefault
    Range("F15:F61").Select
    ActiveWindow.ScrollRow = 1
    Range("G15").Select
    ActiveWindow.SmallScroll ToRight:=4
    ActiveWindow.ScrollRow = 1
    Range("G15").Select
    ActiveWindow.SmallScroll Down:=15
    Selection.AutoFill Destination:=Range("G15:G61"), Type:=xlFillDefault
    Range("G15:G61").Select
    ActiveWindow.ScrollRow = 1
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Range("C12").Select
End Sub

si quelqu'un peut faire cohabiter toutes les deux ..........le pied
 
Re : Problème feuille macro

B'soir

j'ai tout repris a zéro
j'ai refait un autre tableau
j'y ai collé la macro a freddo
erreur 9 à la ligne :
Set F2 = Sheets("Feuil1")

j'y comprend plus rien (déja tres peu ..... alors là !!!)

Bonne nuit faites de beaux rêves
 
Re : Problème feuille macro

Bonsoir,

Dim F1 As Worksheet
Dim F2 As Worksheet

'initialisation des variables
Set F1 = Sheets("Facture")
Set F2 = Sheets("Feuil1")

soit c'est un set sur F1 et F2, ou un Dim, mais les 2 ensembles, il me semble qu'il y en a un de trop ...

le plus simple, mettre un guillemet comme ci dessous sur les 2 lignes et réessayer la macro .... :
'Dim F1 As Worksheet
'Dim F2 As Worksheet
 
Re : Problème feuille macro

bonsoir tout le monde
maintenant ça marche avec les deux 😕😕😕
va savoir autant un bug de 2007
puisque j'y pense j'ai fais une mise a jour d'office la kb936509 peut etre que ...
merci d'avoir cherché pour moi
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
690
Réponses
5
Affichages
835
Retour