Bonjour,
Pour faire suite à mon dernier post, voici comment convertir une macro complémentaire en fichier excel "classique".
- Aller dans le VBE (ALT+F11),
- Puis, double-clic sur le Workbook correspondant à la macro complémentaire (ici calendrier v2)
- Finalement, dans les propriétés (si elles ne sont pas visibles, aller dans le menu Affichage - Fenêtre Propriétés)
- Mettre la valeur de IsAddin à False.
- Enfin, il ne reste plus qu'à sauvegarder le classeur sous un autre nom.
A bientot.
Gaetan
Bonjour
jai un grand problem avec VBA depuis une semaine jessaye de corriger je narrive pas
mon probleme
jai deux feuilles excel une sappel "negatif" et lautre "ana_principal"
le code que je vais paster au dessous recherche les collons de la feuille "negatif" dans la feuille "ana_principal" il compare les enregistrements de la feuille "negatif" avec la feuille "ana_principal" et si une enregistrement de la feuille "negatif" nexiste pas dans la feuille "ana_principal" il ajout a la feuille "ana_principal"
ce que je veux cest le contraire
jai une liste de personnes avec leurs adresses disons 10.000 personnes est enregistres dans la feuille "ana_principal" et maintenant je veux supprimer certaines donc je creer une autre feuille qui sappel "negatif" et je met les enregistrements que je veux supprimer de la ana_principal
le macro vas supprimer automatiquement mes enregistrements qui sont dans la feuille "ana_principal".
ma feuille "negatif" contient seulement le nom et le prenom A,B
et ma feuille "ana_liste" contient nom,prenom,adresse1,adresse2, etc....
jai essaye beaucoup de code mais aucuns marche correctement, souvent il saute les lignes, il nefface pas certaines ligne quil doit effacer
Private Sub cbtStart_Click()
Dim I As Long, nbLignes As Long, nbItems As Long
Dim Recherche, Valeur
Dim Ratio As Integer
'Activer la feuille "negatif" et calculer son nombre de lignes
Sheets("negatif").Activate
nbLignes = Cells.Find("*", Range("A1"), , , xlByRows, xlPrevious).Row
'on lit chaque ligne de negatif
For I = 2 To nbLignes
'à chaque changement de ligne, la valeur de Ratio augmente
Ratio = (I / nbLignes) * FrameProgress.Width
'lecture de la valeur à rechercher
Valeur = Sheets("negatif").Range("A" & I)
'On recherche dans la colonne A de la feuille "ana_liste"
Set Recherche = Sheets("ana_liste").Columns("A:A").Find(Valeur)
If Not Recherche Is Nothing Then
'on a donc trouvé le nom
'il faut vérifier si le prénom et l'adresse1 sont identiques
If Sheets("ana_liste").Range(Recherche.Address).Offset(0, 1) = Range("A" & I).Offset(0, 1) _
And Sheets("ana_liste").Range(Recherche.Address).Offset(0, 2) = Range("A" & I).Offset(0, 2) _
And Sheets("ana_liste").Range(Recherche.Address).Offset(0, 3) = Range("A" & I).Offset(0, 3) Then
'Effacement de la ligne
Sheets("ana_liste").Rows(Range(Recherche.Address).Row).Delete
'Accumuler le nombre de lignes effacées
nbItems = nbItems + 1
End If
End If
'ajustement de la barre de progression
LabelProgress.Width = Ratio
DoEvents
Next
MsgBox "Première partie terminée avec succès !" & vbCrLf & _
nbItems & " lignes ont été effacées de «ana_liste»"
'*****************************************************************************************
'Effacer les doublons de la feuille negatif
lblInfo.Caption = "Étape 2 / 2"
nbItems = 0 'réinitialise la variable compteur
Sheets("negatif").Activate
nbLignes = Cells.Find("*", Range("A1"), , , xlByRows, xlPrevious).Row
'Tri de la feuille selon 3 critères: Nom, Prénom et Adresse1
Cells.Select
Selection.Sort key1:=Range("A1"), key2:=Range("B1"), key3:=Range("C1"), header:=xlYes
Range("A1").Select 'enlève la sélection
'Lecture de chaque ligne en partant de la fin
For I = nbLignes To 2 Step -1
'Si les nom, prénom et adresse sont identiques aux précédents, il y a doublon
If Range("A" & I) = Range("A" & I - 1) And _
Range("B" & I) = Range("B" & I - 1) And _
Range("C" & I) = Range("C" & I - 1) Then
Rows(I).Delete
nbItems = nbItems + 1 'calcul du nombre de doublons
End If
Next
Application.ScreenUpdating = True
MsgBox "Deuxième partie terminée avec succès !" & vbCrLf & _
nbItems & " lignes-doublons ont été effacées de «negatif»"
Unload Me
End Sub
Ce code fait le contraire est ce que quelqun poura maider
je connais rien en VBA
Merci
Bonjour,
Tout d'abord, bravo pour votre site et pour tout ce que vous faites pour nous aider à savoir maitriser excel.
J'ai un probmème avec l'astuce consistant à transformer une macro xla en fichier excel.
En fait une fois que j'ai enregistré la modification (addin = false) dans une macro que je souhaiterais intégrer dans un fichier excel, et changé le nom du fichier, j'obtiens le message d'erreur suivant quand j'essaye désormais d'ouvrir le fichier excel obtenu :
"les macros contenues dans ce fichier ne correspondent pas à la signature numérique. Seul un virus peut en etre la cause. Veuillez exécuter un antivirus et avertir l'éditeur de ce document. Les macros seront désactivées".
Y a-t-il une solution pour régler ce problème ?
Merci d'avance
J'ai rencontré ton problème, c'est même en cherchant sur le message d'erreur que j'ai abouti à ta question
Par hasard j'ai trouvé une solution qui a l'air de marcher.
J'ai enregistré mon fichier en excel5 ce qui m'a fait perdre les forms incorporé et le vba inclus dans ThisWorkBook. Dans un premier temps j'ai pesté mais aprés restauration de ces forms et copier coller du code VBA perdu, et bien sur nouvelle signature, j'ai retrouvé un fichier excel sur lequelle on pouvait modifier les cellules sans avoir l'inconvénient signalé.
Je pense que l'opération a néttoyer des résidus de signatures due à l'origine Xla après conversion en XLS
essayes et tiens moi au courant